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

Come creare un supporto di installazione USB avviabile di Windows 11 25H2

Come creare un supporto di installazione USB avviabile di Windows 11 25H2

Per creare un'unità USB avviabile di installazione di Windows 11 25H2, puoi utilizzare Rufus, Ventoy, il prompt dei comandi e Media Creation Tool. Ecco come fare.

La build 26220.7653 (KB5074157) per Windows 11 introduce nuove ottimizzazioni per la modalità scura (Dev, Beta)

La build 26220.7653 (KB5074157) per Windows 11 introduce nuove ottimizzazioni per la modalità scura (Dev, Beta)

L'aggiornamento KB5074157 (build 26220.7653) per Windows 11 migliora la modalità scura, aggiunge il supporto per gli sfondi WebP e risolve problemi relativi alla barra delle applicazioni, al menu Start, al Bluetooth e altro ancora.

Laggiornamento KB5074109 di Windows 11 è stato un disastro: ecco lelenco dei problemi principali.

Laggiornamento KB5074109 di Windows 11 è stato un disastro: ecco lelenco dei problemi principali.

L'aggiornamento KB5074109 di gennaio 2026 per Windows 11 ha causato arresti anomali, problemi di avvio, malfunzionamenti di Outlook ed errori di disinstallazione, costringendo gli utenti a rimuoverlo.

Come impedire che le conversazioni di ChatGPT vengano visualizzate nei risultati di ricerca di Google

Come impedire che le conversazioni di ChatGPT vengano visualizzate nei risultati di ricerca di Google

Evita che le tue conversazioni ChatGPT vengano visualizzate nei risultati di ricerca di Google rivedendo ed eliminando i link ChatGPT pubblici condivisi. Ecco come fare.

Come installare il Sottosistema Windows per Android (WSA) su Windows 11

Come installare il Sottosistema Windows per Android (WSA) su Windows 11

È possibile installare il Sottosistema Windows per Android (WSA) per eseguire app Android su Windows 11 tramite Microsoft Store o PowerShell. Ecco come fare.

Come impedire a ChatGPT di utilizzare i tuoi dati personali per laddestramento dellIA

Come impedire a ChatGPT di utilizzare i tuoi dati personali per laddestramento dellIA

Per impostazione predefinita, OpenAI raccoglie il contenuto delle conversazioni di ChatGPT per addestrare l'IA; ecco come disabilitare questa funzione per una maggiore privacy.

Build 27913 per le versioni di Windows 11 con modifiche allapp Impostazioni (Canary)

Build 27913 per le versioni di Windows 11 con modifiche allapp Impostazioni (Canary)

La build 27913 (Canary) di Windows 11 introduce un'interfaccia utente delle Impostazioni riprogettata, ripristina il suono di avvio di Vista, risolve i problemi relativi allo sfondo a schermo nero e altro ancora.

Build 26120.4733 (KB5062651) per le versioni di Windows 11 24H2 con modifiche (Beta)

Build 26120.4733 (KB5062651) per le versioni di Windows 11 24H2 con modifiche (Beta)

La build 26120.4733 (KB5062651) per Windows 11 introduce una nuova funzionalità di descrizione delle immagini tramite IA, una riprogettazione delle autorizzazioni delle app e la protezione per gli amministratori nel canale Beta.

La build 26200.5702 (KB5062653) per Windows 11 25H2 introduce nuove funzionalità (Dev)

La build 26200.5702 (KB5062653) per Windows 11 25H2 introduce nuove funzionalità (Dev)

La build 26200.5702 (KB5062653) per Windows 11 25H2 introduce descrizioni delle immagini basate sull'intelligenza artificiale, nuove funzionalità di sicurezza per gli amministratori, finestre di dialogo per le autorizzazioni riprogettate e altro ancora.

Come installare unapp utilizzando Winget su Windows 10

Come installare unapp utilizzando Winget su Windows 10

Ora è possibile utilizzare il comando winget per installare app su Windows 10; ecco i passaggi per farlo tramite Gestione pacchetti di Windows.