Inicio
» WINDOWS
»
Cómo silenciar automáticamente el sonido cuando se desconectan los auriculares en Windows 10
Cómo silenciar automáticamente el sonido cuando se desconectan los auriculares en Windows 10
Windows 10 no tiene una opción universal para silenciar el audio al desconectar los auriculares. Un script de PowerShell puede detectar cambios de dispositivo y silenciar el punto final de reproducción predeterminado tras la desconexión. Puedes ejecutarlo manualmente o configurarlo para que se ejecute al iniciar sesión mediante el Programador de tareas.
El script silencia la reproducción; no pausa la aplicación. Además, monitoriza los cambios en los dispositivos del PC, no solo en los auriculares, por lo que otros dispositivos pueden activarlo.
Comprueba cómo Windows detecta tus auriculares.
Abre Inicio > Configuración > Sistema > Sonido y comprueba si los auriculares aparecen por separado en Salida . Windows te permite seleccionar una salida y ajustar el volumen aquí, pero no ofrece una regla de silencio automático al desconectarlos. Consulta la guía de configuración de audio de Microsoft para obtener información sobre los controles del dispositivo.
La página de Sonido le permite elegir una salida; no crea una regla de silencio automática.
Comprueba la utilidad de audio de tu PC para ver si hay una opción para la toma de auriculares. Su disponibilidad depende del controlador de audio. El conector físico de una toma analógica no es un dispositivo Plug and Play. Algunos adaptadores de audio informan a Windows de la presencia de la toma, mientras que otros no, por lo que este script podría no detectar la desconexión de un conector de 3,5 mm. Microsoft explica esta diferencia en su documentación sobre dispositivos de audio . Los auriculares USB o Bluetooth también pueden activar un evento de dispositivo cuando Windows los agrega o elimina, según el dispositivo y el controlador.
Guarda el script de PowerShell.
Abra el script original PSAutoMute de Prateek Singh e inspeccione el código antes de ejecutarlo. Utiliza las interfaces de audio de Windows para silenciar el punto final de reproducción multimedia predeterminado y escucha los eventos WMI.
Guárdalo en una carpeta permanente como C:\Scripts. En el Bloc de notas, elige Archivo > Guardar como , nombra el archivo MuteWhenHeadphonesDisconnect.ps1y establece el tipo de archivo en Todos los archivos (*.*) . Confirma que el Explorador de archivos muestre la .ps1extensión, no .ps1.txt.
Guarda el archivo con la extensión .ps1 y selecciona "Todos los archivos" para que el Bloc de notas no añada la extensión .txt.
La clase de eventos del script es amplia. Microsoft indica Win32_DeviceChangeEventque abarca cambios de dispositivos en todo el equipo: el tipo de evento 2 indica llegada y el tipo 3, salida. Este script silencia cualquier dispositivo al salir y lo reactiva al llegar, si el sonido está silenciado. Por lo tanto, una unidad USB podría reactivar el audio, o desconectar un ratón podría silenciarlo; el script no puede saber si usted mismo silenció los altavoces. Consulte la documentación de referencia de clases de eventos de Microsoft para obtener más información sobre estas definiciones.
Los scripts de PowerShell son código ejecutable, así que primero inspeccione el archivo. En un PC personal donde tenga permiso para ejecutarlo, úselo RemoteSignedsolo para este proceso de PowerShell; no modificará la política persistente de la máquina ni del usuario. Si Windows sigue bloqueando el archivo descargado, revíselo y ejecútelo Unblock-File -Path "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1". Microsoft explica estos ámbitos en su guía de políticas de ejecución . No anule una política de trabajo o de escuela.
Ejecútalo y pruébalo.
Abra Windows PowerShell desde el menú Inicio como su usuario habitual, cambie a la carpeta de scripts y, a continuación, inicie el monitor:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
Set-Location C:\Scripts
.\MuteWhenHeadphonesDisconnect.ps1
Si guardaste el archivo en otra ubicación, reemplaza la ruta de la carpeta. El script se ejecuta en un bucle, por lo que la ventana de PowerShell permanece abierta. Déjala abierta durante las pruebas; para detenerla, presiona Ctrl+C .
Inicie el monitor en Windows PowerShell y mantenga su ventana abierta.
Comience con un volumen bajo. Desconecte y vuelva a conectar los auriculares una vez y confirme que Windows silencia y luego restablece el sonido. Dado que el oyente es de todo el sistema, otros cambios en el dispositivo pueden provocar la misma respuesta. Si el conector analógico no funciona, es posible que el controlador de audio no lo reporte como una desconexión del dispositivo. Si se ve afectado el dispositivo de reproducción incorrecto, verifique qué punto final está configurado como predeterminado en Windows; el script controla ese punto final, no todas las salidas específicas de las aplicaciones.
Inícialo cuando inicies sesión
Abra el Programador de tareas , seleccione Crear tarea básica y asigne un nombre a la tarea.
Seleccione « Al iniciar sesión » como desencadenador. Esto inicia el monitor en su sesión de usuario, donde su dispositivo de reproducción está disponible. Microsoft documenta el -AtLogOndesencadenador correspondiente en New-ScheduledTaskTrigger .
Seleccione Iniciar un programa . Establezca Programa/script en powershell.exe. En Agregar argumentos , ingrese -NoProfile -ExecutionPolicy RemoteSigned -File "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1", cambiando la ruta a la ubicación completa de su archivo.
Finaliza el asistente, luego abre las propiedades de la tarea y configúrala para que se ejecute solo cuando hayas iniciado sesión. Pruébala al iniciar sesión nuevamente antes de ocultar o minimizar la ventana. No inicies una segunda copia mientras se esté ejecutando la programada.
Seleccione "Iniciar un programa" para la tarea de inicio de sesión y, a continuación, indíquele la ruta a PowerShell y a su script.
Cuándo utilizar un método diferente
Esta solución alternativa es la mejor cuando se acepta un comportamiento general de cambio de dispositivo. La API Core Audio de Microsoft tiene una IMMNotificationClientinterfaz para notificaciones de adición y eliminación de puntos finales de audio, pero el script vinculado no la implementa. Un controlador también debe exponer un cambio de conector físico como un evento de punto final. Para un comportamiento exclusivo de auriculares, utilice una utilidad del fabricante del PC que admita explícitamente la detección de conectores o una herramienta que filtre el punto final de audio correcto. Consulte la documentación de IMMNotificationClient de Microsoft .
Para deshacer el inicio automático, desactive o elimine la tarea en el Programador de tareas. Para detener un script ejecutado manualmente, pulse Ctrl+C en su ventana de PowerShell.