使用自动热键 (AHK) 在三 (3) 个音频设备之间切换
Switch between three (3) audio devices using autohotkey (AHK)
刚知道 AHK。
我有三个音频设备(扬声器、耳机、电视)
想不出 AHK 语法来一键切换它们,假设是 F2。
这个小脚本在两个设备之间切换,但我需要在三个设备之间切换。
F2::
if (toggle := !toggle)
{
run, nircmd.exe setdefaultsounddevice "tv"
}
else
{
run, nircmd.exe setdefaultsounddevice "headphones"
}
return
所以我在想这样的事情,其中 device 是一个保存音频设备名称的变量:
device = "Speakers"
F2::
if (device = "Speakers") device = "TV"
else if (device = "TV") device = "Headphones"
else if (device = "Headphones") device = "Speakers"
run, nircmd.exe setdefaultsounddevice device
return
只是不能将其作为有效的 AHK 脚本。
任何帮助表示赞赏
P.S。 nircmd 实用程序允许从命令行设置音频设备
谢谢。
UPD 已更新至此,但 %device% 为空,原因不明。
遵循手册 (https://autohotkey.com/docs/Variables.htm),应该可以,但没有 :(
UPD2 正如@Blauhim 所建议的,我在它之前有另一个键绑定 return 语句。一旦我将脚本移到顶部,它就像一个魅力。谢谢。
device := "Speakers" ; alternative: device = Speakers
F2::
if (device = "Speakers")
device := "TV" ; had to be on the next line
else if (device = "TV")
device := "Headphones" ; had to be on the next line
else if (device = "Headphones")
device := "Speakers" ; had to be on the next line
run, nircmd.exe setdefaultsounddevice %device%
return
刚知道 AHK。 我有三个音频设备(扬声器、耳机、电视)
想不出 AHK 语法来一键切换它们,假设是 F2。 这个小脚本在两个设备之间切换,但我需要在三个设备之间切换。
F2::
if (toggle := !toggle)
{
run, nircmd.exe setdefaultsounddevice "tv"
}
else
{
run, nircmd.exe setdefaultsounddevice "headphones"
}
return
所以我在想这样的事情,其中 device 是一个保存音频设备名称的变量:
device = "Speakers"
F2::
if (device = "Speakers") device = "TV"
else if (device = "TV") device = "Headphones"
else if (device = "Headphones") device = "Speakers"
run, nircmd.exe setdefaultsounddevice device
return
只是不能将其作为有效的 AHK 脚本。 任何帮助表示赞赏 P.S。 nircmd 实用程序允许从命令行设置音频设备
谢谢。
UPD 已更新至此,但 %device% 为空,原因不明。 遵循手册 (https://autohotkey.com/docs/Variables.htm),应该可以,但没有 :(
UPD2 正如@Blauhim 所建议的,我在它之前有另一个键绑定 return 语句。一旦我将脚本移到顶部,它就像一个魅力。谢谢。
device := "Speakers" ; alternative: device = Speakers
F2::
if (device = "Speakers")
device := "TV" ; had to be on the next line
else if (device = "TV")
device := "Headphones" ; had to be on the next line
else if (device = "Headphones")
device := "Speakers" ; had to be on the next line
run, nircmd.exe setdefaultsounddevice %device%
return