When creating either an Aggregate Device or a Multi-Output Device in Audio MIDI Setup and setting it as the default audio output device, the volume control is greyed out and locked at maximum intensity. Why is that and how can it be bypassed?
Whilst I'm not certain why the single volume control in the Sound preference pane is greyed out (or whether that behaviour can be changed), the only way I found to allow me to change the volume at all was to manually adjust the "Master" volume slider for each device in the aggregate or multi-output device.
It's weird the inside the
Audio MIDI Setup, I get the Master slider grayed out even if not using the Multi-Output device. Please, let me know if any better solution exists (or at least a workaround to my disabled Master slider).
The final issue to resolve is having the ability to change the audio volume like normal. Unfortunately, I didn’t find a way to do this without the help of a 3rd party app, but thankfully, Soundflower seems to do the trick without any extra bloat and appears to be well maintained. It’s hosted on Github and you can find a download link both on Github and it’s Google Code home. Once you install it, you will find two new audio devices are listed in the Audio MIDI Setup app. For my purposes, the two channel device fit my needs, so I went in and set it as the default for both input, output, and system alert sounds (right click on the device and you will see options for each). You don’t have to do all three, but I found it works for my needs, so might for yours too. Once you have done that, launch the Soundflowerbed app from /Applications/Soundflower and then look for a menu bar icon shaped like a flower. Click on it, and then pick your Aggregate Device as shown here:
With that, you should now be all set. Try hitting the volume change keys on your keyboard and confirm everything is working.
I hope this helps, as it helped me!
When using the Built-in Output as part of a Mult-Output Device, you can set the volume of the Built-in Output with AppleScript:
osascript -e 'set volume 2'
This doesn't seem to affect the volume of the other devices that are part of the Multi-Output Device.
Now, if only there was a way to get the volume button keys to run a script!
I have written a popover app just for doing it.
It is working as
1-) Get default audio output device 2-) For each sub devices of it 3-) Get or set left and right channel volume.
You may find it helpful. Here is the medium topic i have written for that
it is now working in the status menu as a volume slider. You can also use Volume UP,DOWN,MUTE commands to change the volume.
Source code https://github.com/adaskar/AggregateVolumeMenu
The only fully functional and painless solution I have found is to use Rogue Amoeba's Loopback. In its interface you can route audio to multiple audio devices and set the volume of each, or route to a multi-output device already set up using the Audio Midi Mac app. Both solutions retain system volume keyboard control and work perfectly. I opt for the former method since it is easier to adjust volume for individual devices in the Loopback interface.
You won't be able to control that from macOs volume control, but you could control the output manually of each output device. To make it more handy you may install app called BackgroundMusic. It will enable you to control each device from menu bar.
brew install --cask background-music