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

Cómo recibir alertas para dormir según cuándo necesitas despertarte

Cómo recibir alertas para dormir según cuándo necesitas despertarte

Cómo recibir alertas para dormir según cuándo necesitas despertarte

Cómo apagar la computadora desde el teléfono

Cómo apagar la computadora desde el teléfono

Cómo apagar la computadora desde el teléfono

Reparar y solucionar problemas de actualización de Windows 7

Reparar y solucionar problemas de actualización de Windows 7

Windows Update funciona básicamente en conjunto con el registro y diferentes archivos DLL, OCX y AX. En caso de que estos archivos se corrompieran, la mayoría de las funciones de...

Returnil Virtual System 2010: virtualice su sistema

Returnil Virtual System 2010: virtualice su sistema

Últimamente, aparecen como hongos nuevos paquetes de protección del sistema, y ​​todos ellos ofrecen una nueva solución de detección de spam y antivirus, y si tienes suerte...

Cómo activar Bluetooth en Windows 10/11

Cómo activar Bluetooth en Windows 10/11

Aprende a activar el Bluetooth en Windows 10/11. El Bluetooth debe estar activado para que tus dispositivos Bluetooth funcionen correctamente. ¡No te preocupes, es muy fácil!

PDF Rider es un excelente software de gestión de PDF de código abierto

PDF Rider es un excelente software de gestión de PDF de código abierto

Anteriormente, revisamos NitroPDF, un buen lector de PDF que también permite al usuario convertir documentos en archivos PDF con opciones como fusionar y dividir el PDF.

Limpiar archivos de texto con Text Cleanser

Limpiar archivos de texto con Text Cleanser

¿Alguna vez has recibido un documento o archivo de texto con caracteres redundantes? ¿El texto contiene muchos asteriscos, guiones, espacios vacíos, etc.?

Cuadro de búsqueda rápida de Google en la barra de tareas de Windows 7

Cuadro de búsqueda rápida de Google en la barra de tareas de Windows 7

Tanta gente me ha preguntado sobre el pequeño ícono rectangular de Google al lado del Orbe de Inicio de Windows 7 en mi barra de tareas que finalmente decidí publicar esto.

Solución para uTorrent en Windows 7

Solución para uTorrent en Windows 7

uTorrent es, sin duda, el cliente de escritorio más popular para descargar torrents. Aunque funciona a la perfección en Windows 7, algunas personas tienen...

2 herramientas increíbles que te recuerdan que debes relajar la vista

2 herramientas increíbles que te recuerdan que debes relajar la vista

Todos necesitamos tomar descansos frecuentes mientras trabajamos con una computadora; al no tomar descansos existe una gran posibilidad de que sus ojos se salgan (bueno, no salten).