Hay un paquete NPM con un CLI para hacer esto: https://github.com/karaggeorge/MacOS-audio-devices
Antes de encontrarlo, también he encontrado lo siguiente, que todavía puede ser adecuado si Node.js no se puede utilizar por alguna razón.
- Existe una herramienta, probablemente no desarrollada activamente, para hacer esto exactamente: https://github.com/jonomuller/device-volume-adjuster .
- Existe la posibilidad de ajustar (obtener/fijar) el volumen de la salida activa a través de AppleScript:
osascript -e "output volume of (get volume settings)"
para conseguir y osascript -e "set volume output volume ..."
para fijar.
- Existe una herramienta, en desarrollo activo, para cambiar de dispositivo: https://github.com/deweller/switchaudio-osx .
Así que probablemente la solución adecuada podría ser utilizar (1), pero puede requerir volver a dar vida al proyecto (1). Puede ser que funcione o se construya sin problemas, no lo he probado.
Y la solución más complicada, que podría funcionar sin problemas, pero a costa de silenciar temporalmente el audio, puede ser combinar (2) y (3): utilizar (3) para obtener el dispositivo activo, luego para cambiar a otro, luego (2) para ajustar el volumen, y de nuevo (3) para volver al dispositivo inicial.