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.

Deixar um comentário

Como criar uma mídia USB inicializável para instalação do Windows 11 25H2

Como criar uma mídia USB inicializável para instalação do Windows 11 25H2

Para criar um instalador USB inicializável do Windows 11 25H2, você pode usar o Rufus, o Ventoy, o Prompt de Comando e a Criação de Mídia. Veja como:

A versão 26220.7653 (KB5074157) para Windows 11 traz novos ajustes para o modo escuro (Dev, Beta)

A versão 26220.7653 (KB5074157) para Windows 11 traz novos ajustes para o modo escuro (Dev, Beta)

A atualização KB5074157 (compilação 26220.7653) para Windows 11 aprimora o modo escuro, adiciona suporte a papéis de parede WebP e corrige problemas com a Barra de Tarefas, o Menu Iniciar, o Bluetooth e outros.

A atualização KB5074109 do Windows 11 foi um desastre – Lista dos principais problemas

A atualização KB5074109 do Windows 11 foi um desastre – Lista dos principais problemas

A atualização KB5074109, de janeiro de 2026 para o Windows 11, causou travamentos, falhas na inicialização, problemas no Outlook e erros de desinstalação, forçando os usuários a removê-la.

Como impedir que as conversas do ChatGPT apareçam na Busca do Google

Como impedir que as conversas do ChatGPT apareçam na Busca do Google

Evite que suas conversas do ChatGPT apareçam na Busca do Google revisando e excluindo links públicos compartilhados do ChatGPT. Veja como.

Como instalar o Subsistema Windows para Android (WSA) no Windows 11

Como instalar o Subsistema Windows para Android (WSA) no Windows 11

Você pode instalar o Subsistema Windows para Android (WSA) para executar aplicativos Android no Windows 11 usando a Microsoft Store ou o PowerShell. Veja como.

Como impedir que o ChatGPT use seus dados pessoais para treinamento de IA

Como impedir que o ChatGPT use seus dados pessoais para treinamento de IA

Por padrão, a OpenAI coleta o conteúdo das suas conversas no ChatGPT para treinamento de IA. Veja como desativar esse recurso para maior privacidade.

A versão 27913 do Windows 11 traz alterações no aplicativo Configurações (Canary).

A versão 27913 do Windows 11 traz alterações no aplicativo Configurações (Canary).

A versão 27913 (Canary) do Windows 11 traz uma interface de Configurações redesenhada, restaura o som de inicialização do Vista, corrige problemas com papéis de parede em tela preta e muito mais.

Build 26120.4733 (KB5062651) para Windows 11 24H2 com alterações (Beta)

Build 26120.4733 (KB5062651) para Windows 11 24H2 com alterações (Beta)

A versão 26120.4733 (KB5062651) para Windows 11 traz uma nova descrição de imagens com IA, reformulação das permissões de aplicativos e proteção de administrador no Canal Beta.

A versão 26200.5702 (KB5062653) para Windows 11 25H2 traz novos recursos (Dev)

A versão 26200.5702 (KB5062653) para Windows 11 25H2 traz novos recursos (Dev)

A versão 26200.5702 (KB5062653) para Windows 11 25H2 traz descrições de imagens com IA, novas medidas de segurança para administradores, diálogos de permissão redesenhados e muito mais.

Como instalar um aplicativo usando o Winget no Windows 10

Como instalar um aplicativo usando o Winget no Windows 10

Agora você pode usar o comando winget para instalar aplicativos no Windows 10, e estes são os passos para fazer isso usando o Gerenciador de Pacotes do Windows.