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

Publicar en Posterous desde Windows Live Writer

Publicar en Posterous desde Windows Live Writer

Posterous es una plataforma de microblogging popular. Los usuarios que buscan publicar una entrada de blog en Posterous desde el escritorio usando Windows Live Writer podrán...

Administrar carpetas compartidas y permisos en la red

Administrar carpetas compartidas y permisos en la red

Optimice su experiencia al compartir carpetas. Con Easy Folder Share, administrar carpetas y permisos nunca fue tan fácil.

Descargar imágenes de Google en masa

Descargar imágenes de Google en masa

Abundan las imágenes, los fondos de pantalla y las panorámicas, y se pueden encontrar en cualquier lugar de la web. Buscar diferentes tipos de imágenes y fondos de pantalla es bastante fácil.

Descargar tráilers de películas de Yahoo en HD

Descargar tráilers de películas de Yahoo en HD

En mi publicación anterior, analicé MOV Download Tool, un programa que descarga videos QuickTime (formato de archivo MOV). Resulta que todos los tráilers en Yahoo...

Recuperar archivos adjuntos de correo electrónico de Outlook

Recuperar archivos adjuntos de correo electrónico de Outlook

OLK Finder es una herramienta gratuita que te ayuda a recuperar archivos adjuntos eliminados accidentalmente. MS Outlook crea una carpeta temporal y guarda el archivo adjunto.

Ocultar ventanas y aplicaciones en otros escritorios virtuales desde la barra de tareas (Windows 10)

Ocultar ventanas y aplicaciones en otros escritorios virtuales desde la barra de tareas (Windows 10)

Descubra cómo ocultar aplicaciones abiertas en escritorios virtuales en Windows 10. Mantenga su barra de tareas ordenada y organizada para mejorar el flujo de trabajo.

Escucha radio y descarga música con Nexus Radio

Escucha radio y descarga música con Nexus Radio

Descubra el poder de Nexus Radio: una aplicación de música gratuita con millones de canciones y miles de estaciones de radio categorizadas.

Obtener elementos abiertos recientemente en la barra de tareas sin anclar en Windows 10

Obtener elementos abiertos recientemente en la barra de tareas sin anclar en Windows 10

La barra de tareas es una característica de larga data del sistema operativo Windows y sobrevivió a Windows 8. Es donde realizamos múltiples tareas, cambiamos entre aplicaciones, fijamos nuestras

Configuración del servidor proxy de Google Chrome

Configuración del servidor proxy de Google Chrome

Ya que hemos revisado suficientes extensiones de Google Chrome por hoy, es hora de hablar sobre la configuración del proxy de Chrome. ¿Sabías que Google Chrome usa...?

Convertir EXE a MSI

Convertir EXE a MSI

¿Tiene un archivo de instalación ejecutable (EXE) que desea convertir al formato MSI? EXE To MSI Converter es una herramienta gratuita de QwertyLab que realiza...