2010-06-29 4 views
6

Sto tentando di utilizzare Autohotkey per creare uno script che silenzia gli altoparlanti del computer per un numero di secondi. Questo è utile per guardare la televisione online - quando si tratta di un commerciale, fornirà un messaggio che dice "la programmazione riprenderà tra XX secondi". Se dice 30 secondi, allora mi piacerebbe premere Windows-KeyPad3 per indicare di silenziare gli altoparlanti per 30 secondi, quindi riattivare automaticamente.Script Autohotkey per la disattivazione degli altoparlanti per un certo numero di secondi

mio principale sceneggiatura 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 

E il mio script mute10.ahk:

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

Ma per qualche ragione il comando di pausa non sembra essere di destra. Ci deve essere un altro comando corretto, ma io non riesco a trovarlo nella documentazione

risposta

6

Uso sonno invece di pausa:

sleep 10000 
+0

OK, ora lo vedo nei documenti. In qualche modo mi sono perso. – kilien

7

orribile, perché hanno una dozzina di script quando si farà?

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

Nota: secondo la documentazione di AutoHotKey, SoundSet non funziona in tutto il sistema su Windows Vista e versioni successive. "Invia {Volume_Mute}" per attivare/disattivare l'audio è un'alternativa.