2010-06-29 7 views
6

Estoy tratando de usar Autohotkey para crear un script que silenciará los altavoces de la computadora por unos segundos. Esto es útil para mirar televisión en línea: cuando se trata de un comercial, se mostrará un mensaje que dice "la programación se reanudará en XX segundos". Si dice 30 segundos, entonces me gustaría presionar Windows-KeyPad3 para indicar que se silencian los parlantes por 30 segundos, luego se activa automáticamente.Script Autohotkey para silenciar altavoces durante un cierto número de segundos

Mi principal guión 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 

Y mi guión mute10.ahk:

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

Pero por alguna razón el comando de pausa no parece ser correcto. Tiene que haber otro comando correcto, pero me parece que no puede encontrar en los documentos

Respuesta

6

Uso del sueño en lugar de pausa:

sleep 10000 
+0

OK, ahora lo veo en los documentos. De alguna manera me lo perdí. – kilien

7

horrible, ¿para qué tener una docena de guiones cuando uno va a hacer?

#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, según la documentación de AutoHotKey, SoundSet no funciona en todo el sistema en Windows Vista y posteriores. "Enviar {Volume_Mute}" para alternar mute es una alternativa.

Cuestiones relacionadas