2009-10-12 8 views
8

Come è possibile modificare in modo programmatico il dispositivo audio predefinito su un sistema vista/win 7? Usando C# o una chiamata API Win?C# Come modificare a livello di programmazione il dispositivo di riproduzione

+2

Questo è fondamentalmente un duplicato di http://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programatically eccetto ingresso vs dispositivo di uscita, in entrambi i casi, non ci sono API per questo su Vista + a meno che non vogliate decompilare il media center e trovare le cose non documentate – Anders

risposta

8

L'API WinMM dovrebbe fornire la funzionalità richiesta.

Si utilizzerà il messaggio DRVM_MAPPER_PREFERRED_SET, che viene inviato con la funzione waveOutMessage().

Documentazione: http://msdn.microsoft.com/en-us/library/aa909789.aspx

Tuttavia, se si sta tentando di inviare la forma d'onda del suono da soli, si dovrebbe guardare in biblioteca WinMM.Net.

http://winmm.codeplex.com

+2

Tutto quello che devo fare è cambiare il dispositivo audio su Windows, in modo che tutti i percorsi audio attraverso quel dispositivo. Essenzialmente sul mio sistema ho molti dispositivi audio e voglio sostituire l'app sys tray predefinita, in modo da non dover fare clic con il tasto destro del mouse, aprire il gestore dispositivi ogni volta che devo cambiare un dispositivo. Questa API farà questo? –

+0

Sì, è possibile impostare il dispositivo di riproduzione audio predefinito in XP con il messaggio DRVM_MAPPER_PREFERRED_SET, che viene inviato con waveOutMessage(). Questo non funziona in Vista. Sto facendo ricerche. –

+0

Grazie, penso che questo ultimo collegamento funzionerà, dovrebbe portarlo a vincere 7, si spera! –