
Me gustaría apagar el sonido (Windows 10) cuando se apaga el monitor. Actualmente tengo configuraciones de energía para apagar el monitor después de 15 minutos. Me gustaría que el sonido también se apagara en ese momento.
No estoy seguro de que exista una forma integrada de Windows de hacer esto, pero si existe una herramienta externa para hacerlo, eso también ayudaría.
Editar: abordar el posible engaño: nircmd por sí solo no ofrece una solución. Es solo un método para apagar el sonido si puedo encontrar una manera de activarlo después de 15 minutos de inacción y hacer que se vuelva a encender al realizar alguna acción, como con la configuración de energía del monitor. El programador de tareas no parece tener un disparador que pueda actuar como un temporizador de esta manera.
Respuesta1
Bien, entonces era una aplicación que hacía ruido en particular y quería detenerla cuando el sistema quedaba inactivo (y el monitor se apagaba), pero no quería que el sistema entrara en suspensión. Me di cuenta de que no me importaba si la aplicación se cancelaba, así que simplemente escribí un script de una sola línea para eliminarla y lo configuré como activador inactivo en el programador de tareas. No es necesario cerrar el volumen en particular ni descubrir cómo detectar un retorno desde el estado inactivo y restablecer el volumen.
Curiosamente, taskkill /im no funcionaría, así que tuve que usar lo siguiente:
wmic process where name="application.exe" call terminate
Respuesta2
Abra el Panel de control y busque Sonido (o simplemente haga clic en Inicio y busque "Cambiar sonidos del sistema"), en la pestaña "Sonido", busque Conexión de dispositivo y Desconexión de dispositivo en la lista Eventos del programa y, en el menú desplegable a continuación, seleccione "(Ninguno)".
Tenga en cuenta que al hacerlo también evitará que Windows emita un sonido cuando conecte o desconecte cualquier hardware como USB, mouse, etc.
Respuesta3
Creo que se puede hacer relativamente fácilmente contecla de acceso automático.
Con el programador de tareas, agregue la tarea con Programa: C:\path\to\autohotkey.exe
Parámetros: "C:\...path\to\script.ahk"
para ejecutarla en estado inactivo en su cuenta (solo cuando el usuario haya iniciado sesión,desmarcar [ ]
Detener si la computadora deja de estar inactiva, el script se activará y saldrá por sí solo):
script.ahk
:
#NoEnv
SoundGet manually_muted,,MUTE
If (manually_muted = "Off") {
currently_idle := A_TimeIdle
SoundSet 1,,MUTE
Loop
{
Sleep 1000
} Until (A_TimeIdle < currently_idle)
SoundSet 0,,MUTE
}
ExitApp
Sin el programador de tareas, use el siguiente script (simplemente ejecútelo, permanecerá residente usando aproximadamente 4 MB de RAM):
#NoEnv
#NoTrayIcon
#Persistent
#SingleInstance force
TimeIdleToMute_ms := 15 * 60 * 1000 ; timeout in milliseconds
SetTimer MuteUntilIdleEnds, % TimeIdleToMute_ms
Exit
MuteUntilIdleEnds() {
global TimeIdleToMute_ms
static idlemuted := 0
If (!idlemuted && A_TimeIdle > TimeIdleToMute_ms) {
SoundGet manually_muted,,MUTE
If (manually_muted = "Off") {
idlemuted := A_TimeIdle
SoundSet 1,,MUTE
Loop
{
Sleep 1000 ; ms
} Until (A_TimeIdle < idlemuted)
SoundSet 0,,MUTE
idlemuted := 0
}
}
}
Ambos scripts podrían reescribirse para reaccionar a los mensajes de Windows en lugar de realizar ciclos inactivos, pero incluso ahora el consumo de recursos es insignificante.
El segundo script, cuando se ejecuta sin privilegios de administrador, puede tener problemas para detectar la actividad de las aplicaciones que se ejecutan con privilegios de administrador (se silenciará después del tiempo de espera cuando estén enfocadas a pesar de que el usuario tenga actividad con ellas). Sin embargo, si ocasionalmente cambia el enfoque a programas que no son de administrador hasta que llegue el tiempo de espera, será suficiente restablecer el temporizador. Además, cambiar a un programa que no sea de administrador finalizará el silencio, ya que el script detectará actividad.
Ambos scripts están escritos y probados rápidamente para obtener la respuesta, puede haber errores, informe y tenga cuidado :)
PS SE, ¿dónde está el resaltado de sintaxis?