Como silenciar automaticamente o som quando os fones de ouvido são desconectados no Windows 10

O Windows 10 pode manter perfis de áudio separados para diferentes dispositivos de áudio. Para cada dispositivo de áudio conectado, você pode definir um nível de volume diferente e, quando o dispositivo for conectado, o volume será ajustado automaticamente. Claro, ninguém mantém um dispositivo de áudio mudo o tempo todo. Eles irão aumentar ou diminuir o volume, mas ninguém costuma silenciar um dispositivo de áudio.

Se você usa um par de fones de ouvido com sua área de trabalho e frequentemente precisa desconectá-los, pode usar um pequeno script do PowerShell que silenciará automaticamente o som quando você desconectar os fones de ouvido.

Isso é algo que os telefones celulares fazem, ou seja, quando você desconecta os fones de ouvido, a música para automaticamente. A lógica por trás disso é que você acabou de ouvir música ou removeu acidentalmente os fones de ouvido e precisa de uma maneira rápida de desligá-los. O script foi basicamente escrito no mesmo princípio por  Prateek Singh de GEEKEEFY .

Como silenciar automaticamente o som quando os fones de ouvido são desconectados no Windows 10

Silenciar automaticamente o som

Abra o Bloco de notas e cole o seguinte;

[cmdletbinding ()] Param () #Adicionar definições para acessar a API de áudio Add-Type -TypeDefinition @ 'using System.Runtime.InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume {// f (), g (), ... são slots de método COM não utilizados. Defina-os se você se importar 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 (); // Não utilizado int GetDefaultAudioEndpoint (int dataFlow, int role, out IMMDevice endpoint); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] classe MMDeviceEnumeratorComObject {} classe pública Audio {estático IAudioEndpointVolume Vol () {var enumerator = new MMDeviceEnumeratorComObject () como IMMDeviceEnumeratorComObject (); 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; } Volume float público estático {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 (sem som)); retornar mudo; } definir {Marshal.ThrowExceptionForHR (Vol (). SetMute (valor, System.Guid.Empty)); }}} '@ -Verbose While ($ true) {#Limpa todos os eventos na sessão atual, pois está em um loop infinito, para fazer um novo início quando o loop começar Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registering the Event and Waiting for event to be trigger-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 #Lógica condicional a ser tratada, Quando silenciar / ativar o som da máquina usando a API de áudio If ($ EventType -eq 3) {[Audio] :: Mute = $ true Write-Verbose" Mudo [$ ((Get-Date) .tostring ())] "} elseif ($ EventType -eq 2 -and [Audio] :: Mute -eq $ true) {[Audio] :: Mute = $ false Write-Verbose" UnMuted [$ ((Get-Date) .tostring ())] "}}

Salve-o com a extensão de arquivo PS1. Certifique-se de selecionar 'Todos os arquivos' no menu suspenso de tipo de arquivo. Dê ao arquivo um nome que mostre rapidamente o que ele faz. Salve-o em algum lugar do qual provavelmente não será possível excluí-lo acidentalmente, mas também onde possa encontrá-lo facilmente se precisar.

Executando o Script

O PowerShell não pode simplesmente executar um script automaticamente. Há uma medida de segurança embutida que impede isso, mas há uma maneira de contornar isso. Temos um artigo detalhado sobre como você pode fazer exatamente isso. Siga as instruções para executar automaticamente o script do PowerShell que você acabou de criar e use uma tarefa agendada para iniciar o script sempre que inicializar o PC.

Como alternativa, você pode executar o script manualmente ao inicializar o sistema. Estou usando há menos de 30 minutos e não sei como vivia sem ele antes.

Leave a Comment

CORRIGIR o sinal WiFi fraco do Windows 10 [Tutorial rápido]

CORRIGIR o sinal WiFi fraco do Windows 10 [Tutorial rápido]

Um sinal de WiFi fraco significa que você está conectado a uma rede sem fio, mas a conexão não é muito forte ou estável. Se o sinal cair enquanto você estiver usando

Como desbloquear camadas no Adobe Photoshop

Como desbloquear camadas no Adobe Photoshop

Aprenda a desbloquear camadas no Adobe Photoshop de forma simples e eficaz, permitindo que você edite seus projetos sem restrições.

Baixe e jogue o Classic Chess Titans no Windows 10 (TUTORIAL)

Baixe e jogue o Classic Chess Titans no Windows 10 (TUTORIAL)

Descubra como baixar e jogar o Classic Chess Titans no Windows 10, um dos jogos clássicos da Microsoft que fez sucesso no Windows 7.

Como consertar as capturas de tela aparecem em preto no Windows 10

Como consertar as capturas de tela aparecem em preto no Windows 10

A tecla PrintScrn do teclado pode capturar o que está em sua tela, mas se suas capturas aparecem em preto, veja como resolver o problema facilmente.

Como ligar / desligar o Bluetooth ao bloquear / desbloquear no Windows 10

Como ligar / desligar o Bluetooth ao bloquear / desbloquear no Windows 10

Aprenda a automatizar o Bluetooth no Windows 10 ao bloquear e desbloquear seu computador. Siga este guia passo a passo para configurar scripts e agendador de tarefas.

Como encontrar a marca e o modelo de um monitor no Windows 10

Como encontrar a marca e o modelo de um monitor no Windows 10

Saiba como encontrar com facilidade a marca e o modelo do seu monitor utilizando o Windows 10. Aprenda dicas úteis e práticas!

Como verificar e desabilitar compactOS no Windows 10

Como verificar e desabilitar compactOS no Windows 10

Aprenda a verificar e desabilitar compactOS no Windows 10 para liberar espaço e melhorar o desempenho do seu sistema.

Como reiniciar o Windows 11: 4 métodos rápidos

Como reiniciar o Windows 11: 4 métodos rápidos

Aprenda a reiniciar seu PC com Windows 11 de maneira rápida e fácil. Explore 5 métodos eficientes e descubra dicas importantes!

Como alterar a hora no Windows 10 - Definir hora e data (tutorial)

Como alterar a hora no Windows 10 - Definir hora e data (tutorial)

Aprenda como alterar facilmente a data e a hora no Windows 10 com este guia passo a passo, incluindo a modificação do fuso horário e ajustes adicionais.

Modelos do Microsoft Office: Como corrigir o erro Ocorreu um erro durante o download do seu modelo

Modelos do Microsoft Office: Como corrigir o erro Ocorreu um erro durante o download do seu modelo

Aprenda a corrigir o erro ao baixar modelos do Microsoft Office com dicas práticas e soluções eficientes.