Pregunta

Me gustaría poder cambiar la fuente de salida de sonido en Mac OS X sin ninguna interacción GUI.

Hay herramientas para controlar la salida de sonido, como SoundSource y applescript para abrir el cuadro de diálogo de preferencias .

Lo que estoy buscando es algo que cambia la preferencia al instante, como SoundSource pero tiene que ser programable . El objetivo es cambiar entre mi salida digital y analógica con una pulsación de tecla. Tengo una aplicación de ayuda que iniciará un programa o applecript con una sola pulsación de tecla. Todo lo que necesito ahora es el Applecript o la aplicación que cambia la fuente de sonido rápidamente sin la interacción del usuario.

Estoy dispuesto a escribir algo de Objective-C si eso es lo que se necesita, pero soy casi un novato en el desarrollo de Cocoa.

¿Tiene una solución de un solo clic o puede indicarme un buen tutorial sobre cómo controlar las preferencias del sistema de sonido desde una aplicación Cocoa o una línea de comandos?

EDIT : creé una aplicación de línea de comandos para hacer exactamente esto. Puede descargarlo en http://code.google.com/p/switchaudio-osx/ descargas . El código fuente también está disponible en el sitio del proyecto.

¿Fue útil?

Solución

No lo piense en términos de preferencias; No existe un marco de preferencia de sistema centralizado para este tipo de cosas. Creo que lo que necesitas hacer es usar Core Audio para configurar las propiedades de kAudioHardwarePropertyDefaultOutputDevice y kAudioHardwarePropertyDefaultSystemOutputDevice del AudioSystemObject (utilizando AudioHardwareSetProperty) ).

Otros consejos

Creé una aplicación de línea de comandos para hacer exactamente esto.

Puede descargarlo en http://code.google.com/p/ switchaudio-osx / downloads . El código fuente también está disponible en el sitio del proyecto.

ACTUALIZACIÓN (diciembre de 2014): el código ahora se encuentra en github - https://github.com/deweller/switchaudio-osx . Y funciona bien en Yosemite.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top