Autohotkey脚本,用于将扬声器静音一定的秒数

时间:2010-06-29 18:12:34

标签: autohotkey

我正在尝试使用Autohotkey创建一个脚本,将计算机的扬声器静音几秒钟。这对于在线观看电视非常有用 - 当涉及商业时,它会给出一条消息,说'编程将在XX秒内恢复'。如果它说30秒,那么我想点击Windows-KeyPad3指示将扬声器静音30秒,然后自动取消静音。

我的主要autohotkey.ahk脚本:

#Numpad1::RUN mute10.ahk
#Numpad2::RUN mute20.ahk
#Numpad3::RUN mute30.ahk
#Numpad4::RUN mute40.ahk
#Numpad5::RUN mute50.ahk
#Numpad6::RUN mute60.ahk
#Numpad7::RUN mute70.ahk
#Numpad8::RUN mute80.ahk
#Numpad9::RUN mute90.ahk

我的mute10.ahk脚本:

SoundSet, 1, , mute  
pause 10000
SoundSet, 0, , mute  

但由于某种原因,暂停命令似乎不正确。必须有另一个正确的命令,但我似乎无法在文档中找到它

3 个答案:

答案 0 :(得分:7)

可怕的是,为什么会有十几个脚本呢?

#Numpad1::
#Numpad2::
#Numpad3::
#Numpad4::
#Numpad5::
#Numpad6::
#Numpad7::
#Numpad8::
#Numpad9::
    ; extract the last character from the hotkey (the number) and multiply it by 10
    ; mute for that many seconds
    mute(substr(A_ThisHotkey, 0) * 10) 
return

mute(seconds)
{
    SoundSet, 1, , mute 
    sleep seconds * 1000
    SoundSet, 0, , mute
}

答案 1 :(得分:6)

使用sleep而不是暂停:

sleep 10000

答案 2 :(得分:4)

请注意,根据AutoHotKey文档,SoundSet在Windows Vista及更高版本上无法在系统范围内运行。 “发送{Volume_Mute}”以切换静音是另一种选择。