2009-10-12 76 views
8

如何以編程方式更改vista/win 7系統上的默認音頻設備?使用C#或Win API調用?C#如何以編程方式更改播放設備

+2

這基本上是http://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programatically的副本,除了輸入VS輸出裝置,無論哪種方式,在Vista +上沒有API,除非你想反編譯媒體中心並找到沒有記錄的東西 – Anders 2011-01-05 01:09:00

回答

8

WinMM API應提供您請求的功能。

您將使用與waveOutMessage()函數一起發送的DRVM_MAPPER_PREFERRED_SET消息。

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

但是,如果你要發送的波形試探自己,你應該看看WinMM.Net庫。

http://winmm.codeplex.com

+2

我需要做的就是改變Windows上的聲音設備,以便通過該設備的所有音頻路由。基本上,我的系統上有很多聲音設備,我想替換默認的系統托盤應用程序,這樣我就不需要右鍵單擊,每次需要切換設備時都打開設備管理器。這個API會這樣做嗎? – 2009-10-12 15:28:02

+0

是的,您可以在XP中使用DROOM_MAPPER_PREFERRED_SET消息設置默認的音頻播放設備,該消息通過waveOutMessage()發送。這在Vista中不起作用。我在研究。 – 2009-10-12 16:04:54

+0

謝謝,我認爲這最後一個鏈接將工作,它應該端口贏得7希望! – 2009-10-12 16:19:00

相關問題