Answers:
免费和开源:SoundSwitch
c:\windows\system32\control.exe mmsys.cpl
2)右键单击声音设备->属性。重新启动程序后,新名称将更新为SoundSwitch。
主要优点是您无需安装任何软件。开箱即用。创建工具后,请在桌面上放置快捷方式以切换设备。
使用记事本创建一个新的文本文件,然后复制并粘贴代码
Run("c:\windows\system32\control.exe mmsys.cpl")
WinWaitActive("Sound")
WinSetOnTop ("Sound","Sound", 1 )
send("{DOWN}")
if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
ControlClick("Sound", "Set Default", 1002)
$message = "Speakers"
else
send("{DOWN}")
ControlClick("Sound", "Set Default", 1002)
$message = "Headset"
EndIf
WinClose("Sound")
TrayTip("", $message, 5)
Sleep(2000)
send("{DOWN}")
根据需要编辑第4行和第8行。上面的示例代码仅在设备#1和#2之间切换。您必须根据需要编辑两行。请参阅下面的说明。
用您的对应设备名称或类似名称替换“扬声器”和“耳机”
以后,如果您切换声音设备,此提示将在您的任务栏中显示5秒钟
在非英语Windows版本上,必须用本地化的按钮文本替换第6行和第10行中的“ 设置默认值”
将文件另存为something.au3
下载AutoIt的压缩版本并解压缩。转到子文件夹Aut2Exe并启动Aut2exe.exe,将.AU3脚本转换为.EXE文件。你完成了
引用所有AutoIt命令
基本上是相同的,只是使用AutoHotKey。按键绑定是在脚本中完成的,#!z
这意味着每次按下Alt+ Win+ 时,都z在设备#1和#2之间切换。
将下面的代码粘贴到文本文件并将其另存为 SoundToggle.ahk
#!z::
Run, c:\windows\system32\control.exe mmsys.cpl
WinWaitActive, Sound
WinSet, AlwaysOnTop, On, Sound
Send, {DOWN}
ControlGet, MyState, Enabled, , Button2
If (MyState = 1){
ControlClick, Button2, A
} Else {
Send, {DOWN}
ControlClick, Button2, A
}
WinClose, Sound
return
下载AutoHotKey(Unicode 32位)并解压缩AutoHotKey.exe
创建该.EXE的快捷方式,并根据自己的路径修改目标行
"C:\myfolder\AutoHotkey.exe" "C:\myfolder\SoundToggle.ahk"
将快捷方式移到您的启动文件夹
send("{DOWN}")
线使用Win+ 打开声音面板,R然后输入mmmm.cpl声音控件。您想知道必须按几次DOWN键才能到达第一个声音设备,以及DOWN再次按几次才能到达第二个设备。
例如,要切换3号和5号设备,您必须按下3次send("{DOWN 3}")
,然后再向下两次按下2次send("{DOWN 2}")
才能到达第五个设备(3倍向下+ 2倍向下=第五个设备)。你明白了。
sleep, 100
发送{Down}键和执行操作之间可能需要a ControlGet
。Enabled
否则,我的脚本无法正确识别状态。
这个名为“ Coastal Audio Changer ”的应用程序应可在Windows 7上使用。自2012年起,它有免费试用版,购买价格为3美元。作者Andrew Bailey在该专用Coastal Audio Changer网站上拥有试用和购买链接。