用于屏蔽扬声器一段特定秒数的Autohotkey脚本

问题描述:

我正在尝试使用Autohotkey创建脚本,以使计算机的扬声器静音几秒钟。这对于在线收看电视很有用 - 当谈到商业时,它会发出一条消息,说'编程将在XX秒后恢复“。如果它说30秒,那么我想打开Windows-KeyPad3来指示将扬声器静音30秒,然后自动取消静音。用于屏蔽扬声器一段特定秒数的Autohotkey脚本

我的主要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 

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

使用睡眠,而不是暂停:

sleep 10000 
+0

好的,现在我在文档中看到了。不知何故,我错过了它。 – kilien 2010-06-29 18:31:42

太可怕了,为什么有十几种脚本时,一个会做什么?

#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 
} 

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