Windows Vista / 7で複数のオーディオ再生デバイスを管理するにはどうすればよいですか?


33

デスクトップコンピューターにスピーカー(オーディオ入力)とヘッドフォン(独自のサウンドカードを備えたUSBヘッドセット)が接続されています。Windows 7では、オーディオミキサーを右クリックして[ 再生デバイス ] を選択し、これらのデバイスを切り替えることができます。

簡単に切り替えることができる、キーボードショートカットなどの簡単な方法はありますか?私は共有スペースで働いていますが、ヘッドフォンで他の人の迷惑を避けたい場合がありますが、スピーカーは大丈夫です。すばやく切り替えられるようにしたい。理想的な世界では、私の質問に対する解決策はVistaでも機能します。

回答:


19

すべての厄介なWindowsオートメーション問題の解決策:AutoIt

このAutoItを入れてコンパイルします

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1
If $CmdLine[0] >= 1 Then ;If we have a parameter...
    $ItemNumber = $CmdLine[1] ;...we should press the button the specified number of times.
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)

ここでショートカットを作成し、ターゲットにコンパイル済み実行可能ファイルへのパスを配置します。引数には、切り替えたいサウンドデバイスの番号をリストに入れます。(リストの一番上のアイテムに切り替えるには、1を入れ、リストの2番目のアイテムを入れ、2を入れるなど)キーボードショートカットが必要な場合は、ショートカットのプロパティウィンドウの[ショートカットキー]フィールドを使用します。

私はあなたがやりたいことをする何かを探していましたが、Vista / 7でオーディオデバイスを切り替えることができるプログラム的な方法はないことがわかりました。マイクロソフトがプログラマーに必要だと決めたものではないので、このスクリプトを作成してプロセスを自動化します。デバイスを変更するためにウィンドウがポップアップするので最適ではありません(必要)が、サウンドの出力デバイスを変更するためのショートカットを作成することができます。


2
これはおそらく、このサイト全体で私がまだ見つけていない最も有用な答えです!おかげで再びこのため....
JL。

非常に素晴らしい、素晴らしい作品。
WerkkreW

9

私の意見では、デフォルトのオーディオチェンジャーが現時点で最良のソリューションです。

キーボードの押下をシミュレートするのではなく、文書化されていないシステムコールを使用するため、フルスクリーンアプリケーションで心配なく使用できます。


素晴らしいアイデアですが、機能しなかっただけでなく、プラグインしたときにヘッドセットがまったく検出されません。:(
Nick Spreitzer

2
強くお勧めします!AutoItスクリプトよりも10倍優れています。本当に受け入れられた答えであるべきです。
オティエル

2
セットアップファイルは次のとおりです。sourceforge.net / projects / defaultaudiocha/ files これはおそらく、これまで見た中で最もクリーンな再生デバイススイッチソリューションです。+1
ジオ

4

@Dan Walker素敵なソリューションですが、完璧ではありません;)

このスクリプトは、ファイルの存在を使用して実際にトグルを実行するため、同じショートカットを使用して再生デバイスを切り替えることができます。簡単な編集です。

;-----Configuration-----
;The title of the sound config window.
Dim $ConfigWindowTitle = "Sound"
;-----End of configuration----

Dim $ItemNumber = 1 ; The first itme in the audio list

If FileExists ("a") Then; Use the existence of a file to know if we should toggle
    FileDelete("a")
    $ItemNumber = 3 ; The audio playback device you want to toggle to
Else
    FileOpen("a", 1)
    FileClose("a")
EndIf

Run("control mmsys.cpl") ;Run the sound control applet and hide it.

WinWaitActive($ConfigWindowTitle) ;Wait for it to be active before sending keystrokes.

Send("{TAB}{TAB}{TAB}{TAB}") ;Put the focus on the list

For $i = 1 to $ItemNumber Step 1
    Send("{DOWN}")
Next

Send("!s") ;Press Alt + S to set the selected device as the default.
WinClose($ConfigWindowTitle)

ニース、トグルが好き
Chaulky

3

これをしばらくの間グーグルで検索しましたが、私にとっての唯一のトリックはAutoHotKeyからのスクリプトです。これをバックグラウンドで実行することが唯一の願いです。スクリプトは次のとおりです。

Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK

ニーズに合わせて変更できます


これでうまくいきましたが、SendInput {Down}代わりにを使用する必要がありましたControlSend,SysListView321,{Down}。また、オーディオデバイスに合わせて{Downs}の数を変更する必要がありました。
イアン

3

faktのソリューションは魅力のように機能します。ここでは、「F4」を押すと最初のオーディオデバイスをデフォルトとして選択し、「F3」を押すと2番目のオーディオデバイスを選択するオートホットキー用の小さなスクリプトがあります。このバージョンは、すべてのWindowsバージョンで機能します。Win 7 64を使用してテスト済み。

F3::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

F4::
Run, mmsys.cpl
WinWaitActive,Sound
ControlSend,SysListView321,{Down}
Sleep, 50
ControlClick,Button2
ControlClick,OK
return

2

@cptloop Default Audio Changerは非常に優れていましたが、デバイスをデフォルトのデバイスとして設定した後、デバイスをデフォルトの通信デバイスとして設定するのは面倒です。

そこで、いくつかの追加機能を備えたAudio Switcherを見つけました。

  • 録音デバイスの切り替えのサポート
  • 複数のホットキーのサポート
  • デュアルスイッチ(デフォルトおよび通信デバイスを交換)
  • もっと!

私が気に入らない唯一のことは、単一のホットキーを使用して2つのデバイスを切り替えることができないことです。各デバイスは独自のホットキーで構成する必要があります。とは言っても、v2.0は開発中であり、いくつかの機能改善とプラグインのサポートが約束されています。また、基盤となるAPIも公開しているため、独自のソリューションを作成できます。

編集:xenolightning / AudioSwitcher_v1#607に従って、デバイスの切り替え/サイクル機能はv2.0で既に実装されています。


0

これを行うためのもう1つの良いプログラムは、Audio Routerです。64ビットおよび32ビットOSバージョンの無料(GPL)プログラムです。プログラムのGitHubリンクは次のとおりです。

オーディオルーター

使用方法の簡単なGIFを次に示します。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.