Come disattivare automaticamente laudio quando le cuffie sono scollegate su Windows 10

Windows 10 può mantenere profili audio separati per diversi dispositivi audio. Per ogni dispositivo audio che colleghi, puoi impostare un livello di volume diverso e quando il dispositivo è connesso, il volume si regolerà automaticamente. Naturalmente, nessuno tiene sempre disattivato un dispositivo audio. Aumenteranno o diminuiranno il volume ma nessuno abitualmente disattiva un dispositivo audio.

Se utilizzi un paio di cuffie con il desktop e spesso devi scollegarle, puoi utilizzare un piccolo script PowerShell che disattiverà automaticamente l'audio quando si scollegano le cuffie.

Questo è qualcosa che fanno i telefoni cellulari, ad esempio, quando scolleghi le cuffie, la musica si interrompe automaticamente. La logica dietro questo è che hai finito di ascoltare la musica o hai rimosso accidentalmente le cuffie e hai bisogno di un modo rapido per spegnerle. La sceneggiatura è stata fondamentalmente scritta su quello stesso principio da  Prateek Singh di GEEKEEFY .

Come disattivare automaticamente laudio quando le cuffie sono scollegate su Windows 10

Disattiva automaticamente l'audio

Apri Blocco note e incolla quanto segue;

[cmdletbinding()] Param() #Aggiunta di definizioni per l'accesso all'API Audio Add-Type -TypeDefinition @' using System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interfaccia IAudioEndpointVolume { // f(), g(), ... sono slot del metodo COM inutilizzati. Definisci questi se ti interessa int f(); int g(); int h(); int io(); int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext); int j(); int GetMasterVolumeLevelScalar(out float pfLevel); int k(); intl(); 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)] interfaccia IMMDevice { int Activate(ref System.Guid id, int clsCtx, intactivationParams, out IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interfaccia IMMDeviceEnumerator { int f(); // Inutilizzato 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)); ritorno 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)); torna muto; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Pulisci tutti gli eventi nella sessione corrente poiché si trova in un ciclo infinito, per ricominciare da capo quando inizia il ciclo Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registrazione dell'evento e attesa per l'attivazione dell'evento Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. nuovo evento | ` Ordina-oggetto TIME_CREATED -Decrescente | ` Select-Object EventType -ExpandProperty EventType -First 1 #Logica condizionale da gestire, quando disattivare/riattivare l'audio della macchina utilizzando l'API audio 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 " Riattivato [$((Get-Date).tostring())]" } }

Salvalo con l'estensione del file PS1. Assicurati di selezionare "Tutti i file" dal menu a discesa del tipo di file. Dai al file un nome che ti dirà a colpo d'occhio cosa fa. Salvalo in un posto in cui è improbabile che lo elimini per sbaglio, ma anche dove puoi trovarlo facilmente se necessario.

Esecuzione dello script

PowerShell non può semplicemente eseguire automaticamente uno script. C'è una misura di sicurezza integrata che gli impedisce di farlo, ma c'è un modo per aggirarlo. Abbiamo un articolo dettagliato su come puoi fare proprio questo. Segui le istruzioni per eseguire automaticamente lo script PowerShell appena creato e usa un'attività pianificata per avviare lo script ogni volta che avvii il PC.

In alternativa, puoi eseguire manualmente lo script all'avvio del sistema. Lo sto usando da meno di 30 minuti e non so come facevo a vivere senza prima.

Lascia un commento

La build 26200.5742 (KB5064075) per Windows 11 25H2 aggiunge nuovi elementi grafici al menu Start (Dev)

La build 26200.5742 (KB5064075) per Windows 11 25H2 aggiunge nuovi elementi grafici al menu Start (Dev)

La build 26200.5742 (KB5064075) per Windows 11 25H2 arriva nel canale Dev con nuove funzionalità per il menu Start e opzioni per il Pannello di controllo nelle Impostazioni.

La build 26200.5751 per Windows 11 25H2 introduce nuove funzionalità e modifiche visive (Dev)

La build 26200.5751 per Windows 11 25H2 introduce nuove funzionalità e modifiche visive (Dev)

La build 26200.5751 (KB5064071) per Windows 11 25H2 arriva nel canale Dev con nuove funzionalità, mentre la build 26120.5751 arriva nel canale Beta.

Come abilitare la Super Risoluzione automatica su Windows 11

Come abilitare la Super Risoluzione automatica su Windows 11

Per abilitare la Super Risoluzione automatica su Windows 11 e migliorare la qualità dei giochi, apri Impostazioni > Schermo > Grafica e attiva la Super Risoluzione automatica.

Come annullare liscrizione del PC al programma Windows 11 Insider

Come annullare liscrizione del PC al programma Windows 11 Insider

Per uscire dal Programma Windows Insider di Windows 11, dalle impostazioni del Programma Windows Insider, fai clic su Interrompi la ricezione delle build di anteprima e attiva Annulla iscrizione.

Microsoft Edge riceve un importante restyling dellinterfaccia utente ispirato a Copilot su Windows 11

Microsoft Edge riceve un importante restyling dellinterfaccia utente ispirato a Copilot su Windows 11

Microsoft Edge sta testando una nuova interfaccia utente ispirata a Copilot, con angoli arrotondati, caratteri aggiornati e menu, che viene ora implementata nelle build di sviluppo e Canary.

5 modi per disinstallare manualmente un aggiornamento su Windows 11 (2026)

5 modi per disinstallare manualmente un aggiornamento su Windows 11 (2026)

Per disinstallare gli aggiornamenti su Windows 11, apri Impostazioni > Windows Update > Cronologia aggiornamenti, fai clic su Disinstalla aggiornamenti e poi su Disinstalla.

4 modi rapidi per verificare la versione su Windows 11

4 modi rapidi per verificare la versione su Windows 11

Per verificare la versione di Windows 11, è possibile utilizzare le impostazioni "Informazioni su di me", il comando `winver`, il prompt dei comandi e PowerShell. Ecco come fare.

Laggiornamento di emergenza KB5078127 risolve i problemi causati dalla versione di Windows 11 di gennaio 2026.

Laggiornamento di emergenza KB5078127 risolve i problemi causati dalla versione di Windows 11 di gennaio 2026.

KB5078127 Rilascio di aggiornamenti straordinari per risolvere i crash delle app e i problemi di Outlook su Windows 11 25H2 e 24H2 causati dagli aggiornamenti di gennaio.

Gli aggiornamenti KB5077744 e KB5077797 risolvono i bug di arresto e accesso su Windows 11.

Gli aggiornamenti KB5077744 e KB5077797 risolvono i bug di arresto e accesso su Windows 11.

Gli aggiornamenti di Windows 11 KB5077744 e KB5077797, inclusi nell'aggiornamento di gennaio 2025, risolvono i bug relativi allo spegnimento e all'accesso tramite Desktop remoto. L'aggiornamento è ora disponibile per il download.

Come controllare, abilitare (o disabilitare) TRIM per gli SSD su Windows 11

Come controllare, abilitare (o disabilitare) TRIM per gli SSD su Windows 11

Su Windows 11, è possibile controllare, abilitare, disabilitare ed eseguire manualmente la funzione TRIM per mantenere veloce l'SSD, ridurre l'usura e preservarne le prestazioni a lungo termine.