Cómo silenciar automáticamente el sonido cuando los auriculares están desconectados en Windows 10

Windows 10 puede mantener perfiles de audio separados para diferentes dispositivos de audio. Para cada dispositivo de audio que conecte, puede establecer un nivel de volumen diferente y cuando el dispositivo esté conectado, el volumen se ajustará automáticamente. Por supuesto, nadie mantiene un dispositivo de audio en silencio todo el tiempo. Subirán o bajarán el volumen, pero nadie silencia habitualmente un dispositivo de audio.

Si usa un par de auriculares con su escritorio y, a menudo, tiene que desconectarlos, puede usar un pequeño script de PowerShell que silenciará automáticamente el sonido cuando desconecte sus auriculares.

Esto es algo que hacen los teléfonos móviles, es decir, cuando desconecta los auriculares, la música se detiene automáticamente. La lógica detrás de esto es que o ha terminado de escuchar música o se ha quitado accidentalmente los auriculares y necesita una forma rápida de apagarlos. El guión fue escrito básicamente con el mismo principio por  Prateek Singh de GEEKEEFY .

Cómo silenciar automáticamente el sonido cuando los auriculares están desconectados en Windows 10

Silenciar automáticamente el sonido

Abra el Bloc de notas y pegue lo siguiente;

[cmdletbinding ()] Param () # Agregar definiciones para acceder a la API de audio Add-Type -TypeDefinition @ 'usando System.Runtime.InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume {// f (), g (), ... son ranuras de métodos COM no utilizados. Defínalos si le importa int f (); int g (); int h (); int i (); int SetMasterVolumeLevelScalar (nivel flotante, System.Guid pguidEventContext); int j (); int GetMasterVolumeLevelScalar (out float pfLevel); int k (); int l (); int m (); int n (); int SetMute ([MarshalAs (UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext); int GetMute (fuera bool pbMute); } [Guid ("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] interface IMMDevice {int Activate (ref System.Guid id, int clsCtx, int ActivaciónParams, salida IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] interfaz IMMDeviceEnumerator {int f (); // Unused int GetDefaultAudioEndpoint (int dataFlow, int role, out IMMDevice endpoint); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] clase MMDeviceEnumeratorComObject {} clase pública Audio {static IAudioEndpointVolume Vol () {var enumerator = new MMDeviceEnumeratorComObject () como IMMDeviceEnumerator; IMMDevice dev = null; Marshal.ThrowExceptionForHR (enumerator.GetDefaultAudioEndpoint (/ * eRender * / 0, / * eMultimedia * / 1, out dev)); IAudioEndpointVolume epv = null; var epvid = typeof (IAudioEndpointVolume) .GUID; Marshal.ThrowExceptionForHR (dev.Activate (ref epvid, / * CLSCTX_ALL * / 23, 0, fuera epv)); return epv; } Volumen flotante estático público {get {float v = -1; Marshal.ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (fuera de v)); return v;} set {Marshal.ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (valor, System.Guid.Empty));}} public static bool Mute {get {bool mute; Marshal.ThrowExceptionForHR (Vol (). GetMute (fuera de silencio)); volver mudo; } set {Marshal.ThrowExceptionForHR (Vol (). SetMute (valor, System.Guid.Empty)); }}} '@ -Verbose While ($ true) {# Limpiar todos los eventos en la sesión actual, ya que está en un bucle infinito, para comenzar de nuevo cuando comience el bucle Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registrando el evento y esperando que se active el evento Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event | Out-Null $ EventType = $ Event.sourceargs. newevent | `Ordenar-Objeto TIME_CREATED -Descending | `Select-Object EventType -ExpandProperty EventType -First 1 # Lógica condicional para manejar, Cuándo silenciar / des-silenciar la máquina usando la API de audio If ($ EventType -eq 3) {[Audio] :: Mute = $ true Write-Verbose" Muted [$ ((Get-Date) .tostring ())] "} elseif ($ EventType -eq 2-y [Audio] :: Mute -eq $ true) {[Audio] :: Mute = $ false Escritura detallada" Sin silenciar [$ ((Get-Date) .tostring ())] "}}

Guárdelo con la extensión de archivo PS1. Asegúrese de seleccionar 'Todos los archivos' en el menú desplegable de tipo de archivo. Asigne un nombre al archivo que le dirá de un vistazo lo que hace. Guárdelo en algún lugar en el que no sea probable que lo elimine por accidente, pero también donde pueda encontrarlo fácilmente si lo necesita.

Ejecutando el guión

PowerShell no puede simplemente ejecutar automáticamente un script. Hay una medida de seguridad incorporada que evita que lo haga, pero hay una forma de evitarlo. Tenemos un artículo detallado sobre cómo puede hacer precisamente eso. Siga las instrucciones para ejecutar automáticamente el script de PowerShell que acaba de crear y utilice una tarea programada para iniciar el script cada vez que inicie su PC.

Alternativamente, puede ejecutar manualmente el script cuando inicie su sistema. Lo he estado usando por menos de 30 minutos y no sé cómo vivía sin él antes.

Leave a Comment

Comprimir archivos/carpetas por lotes en formato UPX, ZIP o 7z

Comprimir archivos/carpetas por lotes en formato UPX, ZIP o 7z

Si busca comprimir archivos y carpetas por lotes o descomprimir archivos sin instalar ningún software, ArcThemAll le servirá. Es gratuito.

Hablar (chat de voz) a través de la red local o Internet usando TinyTalk

Hablar (chat de voz) a través de la red local o Internet usando TinyTalk

¿Entonces quieres hablar con tu amigo que está conectado a la gran LAN de tu oficina o simplemente quieres hablar por Internet pero no quieres instalar nada?

Silenciar el audio haciendo clic en el icono de la bandeja de volumen del sistema en Windows 7

Silenciar el audio haciendo clic en el icono de la bandeja de volumen del sistema en Windows 7

SndVolPlus es un ingenioso reemplazo del control de volumen de sonido predeterminado en Windows 7. Agrega dos funciones simples: silenciar el sonido del sistema cuando el sonido central

Eliminar el Panel de control de Nvidia del menú contextual del botón derecho

Eliminar el Panel de control de Nvidia del menú contextual del botón derecho

¿Cansado de ver el Panel de Control de Nvidia en el menú contextual? Descubre cómo eliminarlo fácilmente y limpiar tu escritorio.

Dividir y fusionar archivos grandes con WinRar y HJSplit

Dividir y fusionar archivos grandes con WinRar y HJSplit

Aprende a dividir un archivo grande en fragmentos más pequeños en Windows con WinRAR y HJSplit. Comprime y sube archivos fácilmente para compartirlos en línea.

Cómo abrir y personalizar el Centro de actividades en Windows 11

Cómo abrir y personalizar el Centro de actividades en Windows 11

El Centro de actividades ha cambiado con casi cada versión de Windows. En Windows 7, se accedía a él a través del Panel de control. En Windows 10, se añadió como un panel.

Cómo ampliar el escritorio de Windows con Chromecast [Guía]

Cómo ampliar el escritorio de Windows con Chromecast [Guía]

Descubre cómo ampliar tu escritorio con Chromecast y usar tu televisor como una pantalla adicional para tu computadora.

Corregir la asociación de archivos en Windows 7

Corregir la asociación de archivos en Windows 7

Sucede que cuando un software malicioso corrompe el registro, algunos archivos dejan de abrirse. Como probador de software que se encuentra con un software tan malo en...

Acelerar el tiempo de carga de carpetas en Windows 7

Acelerar el tiempo de carga de carpetas en Windows 7

¿Cansado de la lentitud de carga cada vez que accedes a una carpeta en Windows 7? La carga suele ser lenta y tarda mucho si tienes una carpeta.

Elimine los rastros de actividad de Internet y PC con Privacy Winner

Elimine los rastros de actividad de Internet y PC con Privacy Winner

Proteja su privacidad con Privacy Winner, una poderosa herramienta para Windows que elimina instantáneamente los rastros de actividad de Internet y las actividades del programa.