2009-10-12 15 views
8

Jak mogę programowo zmienić domyślne urządzenie audio w systemie Vista/Win7? Przy użyciu C# lub wywołania Win API?C# Jak programowo zmienić urządzenie odtwarzające?

+2

To jest w zasadzie kopią http://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programatically wyjątkiem wejścia vs urządzenia wyjściowego, tak czy inaczej, nie ma w nim API dla Vista +, chyba że chcesz dekompilować media center i znaleźć nieudokumentowane rzeczy. – Anders

Odpowiedz

8

Interfejs API WinMM powinien zapewniać żądaną funkcjonalność.

Można użyć komunikatu DRVM_MAPPER_PREFERRED_SET, który jest wysyłany z funkcją waveOutMessage().

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

Jednakże, jeśli próbuje wysłać przebieg wysondować siebie, powinien wyglądać w bibliotece WinMM.Net.

http://winmm.codeplex.com

+2

Wszystko, co muszę zrobić, to zmienić urządzenie dźwiękowe w Windows, tak aby wszystkie ścieżki audio przez to urządzenie. Zasadniczo mam wiele urządzeń dźwiękowych w moim systemie i chcę zastąpić domyślną aplikację tacy sys, tak, że nie trzeba klikać prawym przyciskiem, otwierać menedżera urządzeń za każdym razem, gdy trzeba zmienić urządzenie. Czy ten API to zrobi? –

+0

Tak, możesz ustawić domyślne urządzenie odtwarzania dźwięku w XP przy pomocy komunikatu DRVM_MAPPER_PREFERRED_SET, który jest wysyłany z waveOutMessage(). To nie działa w Vista. Badam. –

+0

Dzięki, myślę, że ten ostatni link będzie działał, powinien mieć port, aby wygrać 7 z nadzieją! –

Powiązane problemy