2009-10-12 6 views
8

vista/win 7システムでデフォルトのオーディオデバイスをプログラムで変更するにはどうすればよいですか? C#またはWin API呼び出しを使用しますか?C#再生デバイスをプログラム的に変更する方法

+2

これは出力装置VS入力以外は基本的にhttp://stackoverflow.com/questions/1334076/how-to-change-default-audio-input-device-programaticallyの複製である、いずれかの方法、あなたがメディアセンターを逆コンパイルして文書化されていないものを見つけたい場合を除いて、Vista +にはAPIはありません – Anders

答えて

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はこれを行いますか? –

+0

はい、waveOutMessage()で送信されたDRVM_MAPPER_PREFERRED_SETメッセージを使用して、XPでデフォルトのオーディオ再生デバイスを設定できます。これはVistaでは動作しません。私は研究しています。 –

+0

ありがとう、私はこの最後のリンクが動作すると思う、それはうまくいけば7を獲得するポートする必要があります! –

関連する問題