Como silenciar tu PC con Windows al desconectar los auriculares.

Autor
Juan. M Espinal
Fecha de publicación
08.06.2018
Ilość komentarzy
0

Pocas cosas me molestan más que cuando desconecto los auriculares de mi ordenador con Windows, los altavoces continúen reproduciendo aquello que estoy reproducción. Esto se agrava si en ese momento me encuentro en un lugar público ya que puedo molestar a todos los que se encuentran a mí alrededor. Para evitar esto suelo pausar el reproductor antes de desconectar mis auriculares, pero no siempre me acuerdo de hacerlo y además hay que contar con las desconexiones por error.

como hacer que los altavoces se silencien al desconectar tus auriculares

También te puede interesar: Como desactivar el mantenimiento automático de disco duro en Windows 10

De manera predeterminada, Windows 10 no incorpora ninguna función específica que te permita silenciar automáticamente tu ordenador al desconectar tus auriculares. No obstante debes saber que el sistema operativo lo que hará será activar la ultima configuración de sonido que tenias antes de conectar tus auriculares.

Es decir, si por ejemplo nuestro ordenador cuenta con el sonido activado a un volumen del 25%, cuando conectamos nuestros auriculares, Windows 10 activa un controlador de volumen diferente y específico para ellos. Sin embargo al desconectar nuestros auriculares automáticamente el sonido continuará reproduciéndose el audio por los altavoces de tu ordenador a un volumen del 25% que era el nivel que teníamos configurado antes de la conexión de los auriculares.

Un truco que suelo realizar es la desactivación del sonido de los altavoces de mi ordenador o configurar el volumen de los mismos al 0. De esta manera cuando desconecto mis auriculares, no se reproducirá el sonido en los altavoces de nuestro ordenador.

Dicho esto a continuación queremos mostraros paso a paso como impedir que el sonido reproducido por nuestro ordenador con Windows 10 suene por sus altavoces tras desconectar nuestro auriculares:

Como hacer que tu ordenador con Windows se silencie cuando desconectamos los auriculares.

Para conseguir que cuando desconectemos nuestros auriculares de nuestro ordenador los altavoces continúen reproduciendo sonido, deberemos hacer uso de un Script el cual podemos crear nosotros mismo.

windows 10 permite silenciar tu ordenador al desconectar tus auriculares

Para ello solo tendrás que copiar el siguiente código y pegarlo en el Bloc de notas:

[cmdletbinding()]
Param()

#Adding definitions for accessing the Audio API
Add-Type -TypeDefinition @'
using System.Runtime.InteropServices;
[Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IAudioEndpointVolume {
  // f(), g(), ... are unused COM method slots. Define these if you care
  int f(); int g(); int h(); int i();
  int SetMasterVolumeLevelScalar(float fLevel, 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(out bool pbMute);
}
[Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IMMDevice {
  int Activate(ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev);
}
[Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface IMMDeviceEnumerator {
  int f(); // Unused
  int GetDefaultAudioEndpoint(int dataFlow, int role, out IMMDevice endpoint);
}
[ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject { }
public class Audio {
  static IAudioEndpointVolume Vol() {
    var enumerator = new MMDeviceEnumeratorComObject() as 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, out epv));
    return epv;
  }
  public static float Volume {
    get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(out v)); return v;}
    set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));}
  }
  public static bool Mute {
    get { bool mute; Marshal.ThrowExceptionForHR(Vol().GetMute(out mute)); return mute; }
    set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); }
  }
}
'@ -Verbose


While($true)
{
    #Clean all events in the current session since its in a infinite loop, to make a fresh start when loop begins
    Get-Event | Remove-Event -ErrorAction SilentlyContinue

    #Registering the Event and Waiting for event to be triggered
    Register-WmiEvent -Class Win32_DeviceChangeEvent
    Wait-Event -OutVariable Event |Out-Null

    $EventType = $Event.sourceargs.newevent | `
    Sort-Object TIME_CREATED -Descending | `
    Select-Object EventType -ExpandProperty EventType -First 1

    #Conditional logic to handle, When to Mute/unMute the machine using Audio API
    If($EventType -eq 3)  
    {
        [Audio]::Mute = $true
        Write-Verbose "Muted [$((Get-Date).tostring())]"
    }
    elseif($EventType -eq 2 -and [Audio]::Mute -eq $true)
    {
        [Audio]::Mute = $false
        Write-Verbose "UnMuted [$((Get-Date).tostring())]"
    }
}

Una vez que hayas pegado el código en el Bloc de notas, tendrás que hacer clic en la opción Archivos para renglón seguido seleccionar la opción Guardar Como. Esto hará que se muestre una ventana en la que tendrás que seleccionar la opción: Todos los Archivos en la sección Tipo. Ahora podrás escribir el nombre deseado para añadir al final del mismo la extensión: .PS1

hacer que tu ordendor se silencie al desconectar tus auriculares

Una vez guardado el archivo, tendremos dos opciones: 1) Ejecutar el Script de manera manual haciendo clic derecho sobre el archivo y seleccionar la opción: ejecutar con PowerShell.

2) Ejecutar el Script de manera automática cada vez que se inicie el sistema operativo Windows 10. Para ello tendremos que crear un archivo .bat (Batch Script) Este archivo será que provoque la ejecución del Script de manera automática. Si no sabes cómo crear el archivo Batch Script, en el siguiente enlace se mostrarán los pasos a seguir: Como crear archivo .bat para ejecutar comandos en PowerShell automáticamente. (Windows)

Una vez que el Script creado se esté ejecutando manual o automáticamente, no tendrás que preocuparte nunca más al desconectar tus auriculares de tu ordenador ya que el sonido se silenciará automáticamente de manera idéntica a como lo hacen los teléfono móvil de Android o iPhone.

Únete a la discusión

comments powered by Disqus