2009-10-12 9 views
8

¿Cómo puedo cambiar programáticamente el dispositivo de audio predeterminado en un sistema vista/win 7? ¿Usando C# o una llamada de Win API?C# Cómo cambiar programáticamente el dispositivo de reproducción

+2

Esto es básicamente un duplicado de http://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programatically excepto entrada vs dispositivo de salida, de cualquier manera, no hay API para ello en Vista + a menos que desee descompilar el centro de medios y encontrar las cosas no documentadas. – Anders

Respuesta

8

La API de WinMM debe proporcionar la funcionalidad que usted solicita.

Utilizará el mensaje DRVM_MAPPER_PREFERRED_SET, que se envía con la función waveOutMessage().

Documentación: http://msdn.microsoft.com/en-us/library/aa909789.aspx

Sin embargo, si usted está tratando de enviar la forma de onda de sonido por su cuenta, usted debe buscar en la biblioteca WinMM.Net.

http://winmm.codeplex.com

+2

Todo lo que necesito hacer es cambiar el dispositivo de sonido en Windows, para que todas las rutas de audio a través de ese dispositivo. Básicamente tengo muchos dispositivos de sonido en mi sistema, y ​​quiero reemplazar la aplicación de bandeja sys predeterminada, para no tener que hacer clic derecho, abrir el administrador de dispositivos cada vez que necesito cambiar un dispositivo. ¿Esta API hará esto? –

+0

Sí, puede configurar el dispositivo de reproducción de audio predeterminado en XP con el mensaje DRVM_MAPPER_PREFERRED_SET, que se envía con waveOutMessage(). Esto no funciona en Vista. Estoy investigando –

+0

Gracias, creo que este último enlace funcionará, ¡debe tener el puerto para ganar 7 con suerte! –

Cuestiones relacionadas