7

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  

しかし、何らかの理由で一時停止コマンドが正しくないようです。別の正しいコマンドがあるはずですが、ドキュメントでそれを見つけることができないようです

4

3 に答える 3

8

一時停止の代わりにスリープを使用します。

sleep 10000
于 2010-06-29T18:27:01.263 に答える
7

恐ろしい、なぜ1つが行うのにダースのスクリプトがあるのですか?

#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
}
于 2012-02-10T20:54:15.490 に答える
4

AutoHotKeyのドキュメントによると、SoundSetはWindowsVista以降ではシステム全体で機能しないことに注意してください。「{Volume_Mute}を送信」し​​てミュートを切り替えることもできます。

于 2013-08-31T21:14:26.817 に答える