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

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.


Cómo hacer que Python y Pip funcionen en Windows

Cómo hacer que Python y Pip funcionen en Windows

¿Necesita que un intérprete de Python funcione en su PC con Windows 10 u 11? Aprenda cómo hacer que Python funcione en Windows con este sencillo tutorial.

Cómo bloquear anuncios en Chrome sin una extensión

Cómo bloquear anuncios en Chrome sin una extensión

Google está cambiando el navegador Chrome para que sea más difícil bloquear anuncios en Windows. Con Adguard, puede sortear estos cambios.

¿Son las bases de supervivencia y las casas de sobrevivientes lo mismo en Minecraft?

¿Son las bases de supervivencia y las casas de sobrevivientes lo mismo en Minecraft?

Cuando empieces a jugar a Minecraft o empieces un nuevo mundo en Minecraft, una de las primeras cosas que harás es construir una pequeña casa. no va a ser

Acceda de forma remota a Windows Server con AnyDesk

Acceda de forma remota a Windows Server con AnyDesk

¿Quiere una manera fácil de conectarse a su Windows Server a través de Internet o de su red doméstica? Aprenda a conectarse con Anydesk.

Cómo ingresar al BIOS en Windows 11: 3 métodos fáciles

Cómo ingresar al BIOS en Windows 11: 3 métodos fáciles

¿Necesita ayuda para acceder al BIOS de su PC con Windows 11? Aquí encontrará tres métodos diferentes para hacerlo en su PC

Cómo conectar Airpods en Windows 11

Cómo conectar Airpods en Windows 11

Puede conectar sus Airpods a su PC con Windows, especialmente una que se ejecuta en Windows 11. Haga clic aquí para ver un breve tutorial sobre cómo hacerlo.

Cómo cerrar la computadora portátil y usar el monitor: 2 métodos de trabajo

Cómo cerrar la computadora portátil y usar el monitor: 2 métodos de trabajo

Aprenda dos métodos de trabajo para cerrar su computadora portátil y usar el monitor en Windows para aumentar su productividad y ahorrar tiempo.

Configurar un servidor FTP FileZilla en Windows Server

Configurar un servidor FTP FileZilla en Windows Server

¿Necesita configurar un servidor FTP en su sistema Windows Server para transferencias rápidas de archivos? FileZilla Server es el camino a seguir.

¿Qué nuevas características están disponibles en iOS 15.4?

¿Qué nuevas características están disponibles en iOS 15.4?

Apple acaba de lanzar una versión actualizada de iOS, ¡y está repleta de nuevas funciones geniales! Conoce algunos de los más destacados.

Aloja un servidor de música Subsonic en Windows Server

Aloja un servidor de música Subsonic en Windows Server

¿Quieres tu propio Spotify o Apple Music privado? Instale el servidor de música Subsonic hoy para transmitir sus propias canciones a través de la red.