使用 AutoHotKey 更改音频输出源?

Sco*_*ott 5 windows-7 autohotkey

我的机器上有两个主要音频输出:扬声器和 USB 耳机。目前,在 Windows 7 Professional x64 中,我在“开始搜索”菜单中键入“声音”以打开此对话框:

Windows 7 声音对话框

出于这个问题的目的,我只关心前两个选项。我想知道 AutoHotKey 中是否有办法从“扬声器(4-Sennheiser USB 耳机)”切换到“扬声器(VIA 高清晰度音频)”,这样我就可以避免每次切换时都必须打开此对话框。谢谢!

Sco*_*ott 4

感谢 iglvzx 的帮助,我找到了自己的答案,指出了要使用的正确术语!

; Toggles default audio device in Control Panel (switches between headset and speakers).
ScrollLock:: 
  toggle:=!toggle ;toggles up and down states. 
  Run, mmsys.cpl 
WinWait,Sound
if toggle
  ControlSend,SysListView321,{Down 1}
Else
  ControlSend,SysListView321,{Down 2}
ControlClick,&Set Default
ControlClick,OK 
return
Run Code Online (Sandbox Code Playgroud)

ScrollLock是我按下的键。toggle是一个 AutoHotKey 所持有的变量(据我所知)下面的条件使用它。mmsys.cpl是上图所示的窗口(在“运行”中键入它,您可以亲自查看!)。其余命令涉及处理 UI,从选择窗口的正确部分到模拟“单击”,再到单击“设置默认值”(必须与您当前的语言匹配),再到单击“确定”(同上)。

运行此命令时,您会注意到窗口物理弹出半秒,因为它物理运行并选择所有内容。虽然我更喜欢无窗口选项,但它工作得很好,因为焦点在运行后返回到正确的窗口(甚至是全屏游戏)。