スピーカー(オーディオ入力)とヘッドフォン(独自のサウンドカードを備えたUSBヘッドセット)をデスクトップコンピューターに接続しています。 Windows 7では、オーディオミキサーを右クリックして再生デバイスを選択し、これらのデバイスを切り替えることができます。
切り替えを簡単にする簡単な方法(キーボードショートカットなど)はありますか?共有スペースで作業しているときは、他の人の迷惑にならないようにヘッドフォンを使用したい場合もあれば、スピーカーを使用したい場合もあります。すばやく切り替えられるようにしたい。理想的な世界では、私の質問に対する解決策はVistaでも機能します。
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でオーディオデバイスを切り替えることができるプログラム的な方法がないことを発見しました。マイクロソフトがプログラマが行う必要があると決定したものではないので、このスクリプトを作成してプロセスを自動化します。デバイスを変更するためにウィンドウがポップアップするため(必須)、最適ではありませんが、サウンドの出力デバイスを変更するショートカットを作成できます。
デフォルトのオーディオチェンジャー は、私の考えでは、現時点で最良のソリューションです。
キーボードプレスをシミュレートする代わりに、文書化されていないシステムコールを使用します。つまり、フルスクリーンアプリケーションで安心して使用できます。
@ダンウォーカーニースのソリューションですが、完璧ではありません;)
このスクリプトは、ファイルの存在を使用して実際にトグルを実行するため、同じショートカットを使用して再生デバイスを切り替えることができます。これは単純な編集です:
;-----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)
しばらくこれをグーグル化し、私のためにトリックをした唯一のことはAutoHotKeyからのスクリプトであり、私が持っている唯一の望みはこれをバックグラウンドで実行することです..これがスクリプトです:
Run, mmsys.cpl
WinWait,Sound
ControlSend,SysListView321,{Down}
ControlClick,&Set Default
ControlClick,OK
ニーズに合わせて変更できます
faktのソリューションは魅力のように機能します。ここでは、「F4」を押したときに最初のオーディオデバイスを、「F3」を押したときに2番目のオーディオデバイスをデフォルトとして選択するautohotkeyの小さなスクリプトを示します。このバージョンは、すべての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
@cptloopデフォルトのオーディオチェンジャーはかなり良かったのですが、デフォルトのデバイスとして設定された後、不愉快なことにデバイスをデフォルトの通信デバイスとして設定しませんでした。
それが私にいくつかの追加機能を備えた Audio Switcher を見つけることにつながりました:
私が気に入らない唯一のことは、1つのホットキーを使用して2つのデバイスを切り替えることができず、それぞれが独自のホットキーで設定される必要があることです。つまり、v2.0は開発中であり、プラグインのサポートと同様に、いくつかの機能の改善が約束されています。また、基盤となるAPIも公開しているため、独自のソリューションを作成することが可能です。
編集: xenolightning/AudioSwitcher_v1#607 のとおり、デバイスの切り替え/サイクル機能はv2.0ですでに実装されています。
これを行うための別の良いプログラムは、オーディオルーターです。これは、64ビットおよび32ビットのOSバージョンを備えた無料の(GPL)プログラムです。プログラムのGitHubリンクは次のとおりです。
使い方の簡単なGIFは次のとおりです。