Скрипт автоотключения для отключения звука динамиков на определенное количество секунд - PullRequest
6 голосов
/ 29 июня 2010

Я пытаюсь использовать 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 ]

7 голосов
/ 11 февраля 2012

Ужасно, зачем иметь дюжину сценариев, когда один будет делать?

#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
}
7 голосов
/ 29 июня 2010

Используйте сон вместо паузы:

sleep 10000
4 голосов
/ 01 сентября 2013

Обратите внимание, согласно документации AutoHotKey, SoundSet не работает в масштабе всей системы в Windows Vista и более поздних версиях.«Отправить {Volume_Mute}» для переключения отключения звука является альтернативой.

...