c# - rápida - Cambiar el dispositivo de audio predeterminado en Windows 7
el dispositivo de audio no esta establecido como predeterminado (2)
Quiero poder cambiar el dispositivo de salida de audio predeterminado en Windows 7 programáticamente usando C # (y probablemente también algunas llamadas subyacentes a la API de Win32). Ya hice mi tarea y escuché muchos comentarios mixtos de diferentes fuentes, así que quise hacer esta pregunta nuevamente para obtener una respuesta directa. ¿Es esto realmente posible (por cualquier medio)? Si es así, ¿cómo voy a hacer esto?
Y, por favor, no sugiera una solución con "AutoIt" o algún otro programa similar ... esta es una pregunta específica de C # / .NET.
En caso de que alguien se tropiece con este hilo en el futuro ... aquí hay un código C ++ que lo hará llamando a algunas API Win32 no documentadas. Esto puede compilarse en un EXE y luego ser llamado silenciosamente desde una aplicación .NET, por lo que podría crear un programa .NET alrededor de este código.
Una pequeña respuesta actualizada, que es compatible con Windows 10 .
Este programa puede hacerlo de manera hermosa (tecla de acceso rápido para cambiar entre dispositivos preseleccionados) y está escrito en C #: SoundSwitch en GitHub
Un poco de ingeniería inversa debería llevarte allí (para mi uso, este programa fue perfecto tal como es).
Hace uso de esa biblioteca (el mismo autor) que está en C ++: AudioEndpointLibrary en GitHub
Entonces, si conoces C ++ (que no lo suficiente), podrías ir más allá en el análisis de cómo funciona. O simplemente usa la biblioteca como lo hace SoundSwitch.