Come disattivare automaticamente l'audio quando si scollegano le cuffie in Windows 10

Windows 10 non dispone di un interruttore universale per disattivare l'audio quando le cuffie vengono scollegate. Uno script PowerShell può intercettare gli eventi di cambio dispositivo e disattivare l'audio del dispositivo di riproduzione predefinito dopo la rimozione. È possibile avviarlo manualmente o tramite l'Utilità di pianificazione all'accesso.

Lo script disattiva l'audio in riproduzione, non mette in pausa un'app. Inoltre, monitora i cambiamenti dei dispositivi su tutto il PC, non solo sulle cuffie, quindi altri dispositivi possono attivarlo.

Verifica come Windows rileva le tue cuffie

Apri Start > Impostazioni > Sistema > Suono e verifica se le cuffie vengono visualizzate separatamente in Uscita . Windows ti consente di selezionare un'uscita e regolarne il volume, ma non offre una regola di disattivazione automatica quando si scollega l'audio. Consulta la guida alle impostazioni audio di Microsoft per i controlli dei dispositivi.

Nelle Impostazioni di Windows 10, apri la sezione Sistema e suoni, dove Altoparlanti e Cuffie sono elencati sotto il selettore del dispositivo di output.
La pagina Audio consente di scegliere un'uscita audio; non crea una regola di silenziamento automatica.

Verifica la presenza di un'impostazione per il jack delle cuffie nelle utility audio del tuo PC. La disponibilità dipende dal driver audio. Il connettore fisico di un jack analogico non è di per sé un dispositivo Plug and Play. Alcuni adattatori audio segnalano la presenza del jack a Windows, altri no, quindi questo script potrebbe non rilevare la disconnessione di un jack da 3,5 mm. Microsoft spiega questa distinzione nella sua documentazione sugli endpoint audio . Anche le cuffie USB o Bluetooth possono attivare un evento dispositivo quando Windows le aggiunge o le rimuove, a seconda del dispositivo e del driver.

Salva lo script PowerShell

  1. Apri lo script PSAutoMute originale di Prateek Singh e analizza il codice prima di eseguirlo. Utilizza le interfacce audio di Windows per disattivare l'audio dell'endpoint di riproduzione multimediale predefinito e si mette in ascolto degli eventi WMI.
  2. Salvalo in una cartella permanente come C:\Scripts. In Blocco note, scegli File > Salva con nome , assegna al file il nome MuteWhenHeadphonesDisconnect.ps1e imposta Salva come tipo su Tutti i file (*.*) . Verifica che Esplora file mostri l' .ps1estensione e non .ps1.txt.
Finestra di dialogo Salva con nome di Windows, nome file MuteWhenHeadphonesDisconnect.ps1 e tipo di file selezionato Tutti i file.
Salva con l'estensione .ps1 e seleziona Tutti i file in modo che Blocco note non aggiunga l'estensione .txt.

La classe di eventi dello script è ampia. Microsoft afferma che Win32_DeviceChangeEventcopre le modifiche ai dispositivi in ​​tutto il computer: il tipo di evento 2 indica l'arrivo e il tipo 3 la rimozione. Questo script disattiva l'audio in caso di rimozione e lo riattiva in caso di arrivo, se l'audio è disattivato. Pertanto, un'unità USB potrebbe riattivare l'audio, oppure la rimozione di un mouse potrebbe disattivarlo; lo script non è in grado di rilevare se l'utente ha disattivato manualmente gli altoparlanti. Per le definizioni, consultare la documentazione di riferimento di Microsoft sulle classi di eventi .

Eseguilo in Windows PowerShell 5.1 , non in PowerShell 7. Utilizza Register-WmiEvent, che Microsoft ha rimosso da PowerShell 7; consulta la documentazione di riferimento di Windows PowerShell 5.1 e le modifiche incompatibili con PowerShell 7 .

Gli script PowerShell sono codice eseguibile, quindi è necessario esaminare prima il file. Su un PC personale in cui è consentito eseguirlo, utilizzare RemoteSignedsolo per questo processo PowerShell; non modificherà i criteri persistenti del computer o dell'utente. Se Windows continua a bloccare il file scaricato, esaminarlo ed eseguirlo Unblock-File -Path "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1". Microsoft spiega questi ambiti nelle sue linee guida sui criteri di esecuzione . Non ignorare i criteri aziendali o scolastici.

Eseguilo e testalo

Apri Windows PowerShell dal menu Start come utente normale, spostati nella cartella degli script e avvia il monitor:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
Set-Location C:\Scripts
.\MuteWhenHeadphonesDisconnect.ps1

Sostituisci il percorso della cartella se hai salvato il file altrove. Lo script rimane in un ciclo, quindi la finestra di PowerShell resta occupata. Lasciala aperta durante i test; premi Ctrl+C per interromperla.

Windows PowerShell su un desktop Windows 10 con il comando di avvio MuteWhenHeadphonesDisconnect.ps1 inserito e lo script in esecuzione.
Avvia il monitor in Windows PowerShell e mantieni la finestra aperta.

Inizia con un volume basso. Scollega e ricollega le cuffie una volta e verifica che Windows disattivi e poi riattivi l'audio. Poiché l'ascolto avviene a livello di sistema, anche altre modifiche ai dispositivi possono causare la stessa reazione. Se il jack analogico non fa nulla, il driver audio potrebbe non segnalarne la rimozione come dispositivo. Se viene interessato il dispositivo di riproduzione sbagliato, verifica quale endpoint è impostato come predefinito da Windows; lo script controlla quell'endpoint, non ogni output specifico dell'applicazione.

Avvialo all'accesso

  1. Apri Utilità di pianificazione , seleziona Crea attività di base e assegna un nome all'attività.
  2. Seleziona " Quando accedo " come trigger. In questo modo, il monitor si avvia nella sessione utente in cui è disponibile il dispositivo di riproduzione. Microsoft documenta il -AtLogOntrigger corrispondente in New-ScheduledTaskTrigger .
  3. Seleziona Avvia un programma . Imposta Programma/script su powershell.exe. In Aggiungi argomenti , inserisci -NoProfile -ExecutionPolicy RemoteSigned -File "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1", modificando il percorso con la posizione completa del tuo file.
  4. Completa la procedura guidata, quindi apri le proprietà dell'attività e mantieni l'impostazione per l'esecuzione solo quando sei connesso. Esegui un test al successivo accesso prima di nascondere o ridurre a icona la finestra. Non avviare una seconda copia mentre quella pianificata è in esecuzione.
La procedura guidata di base dell'Utilità di pianificazione di Windows mostra "All'accesso" come evento scatenante e "Avvia un programma" come azione selezionata.
Seleziona "Avvia un programma" per l'attività di accesso, quindi indica PowerShell e il tuo script.

Quando utilizzare un metodo diverso

Questa soluzione alternativa è ideale quando è accettabile un comportamento generico in caso di cambio di dispositivo. L'API Core Audio di Microsoft dispone di IMMNotificationClientun'interfaccia per le notifiche di aggiunta e rimozione di endpoint audio, ma lo script collegato non la implementa. Un driver deve inoltre esporre la modifica del jack fisico come evento di endpoint. Per un comportamento limitato alle sole cuffie, utilizzare un'utilità del produttore del PC che supporti esplicitamente il rilevamento del jack o uno strumento che filtri l'endpoint audio corretto. Consultare la documentazione di Microsoft relativa a IMMNotificationClient .

Per annullare l'avvio automatico, disabilitare o eliminare l'attività in Utilità di pianificazione. Per interrompere uno script avviato manualmente, premere Ctrl+C nella relativa finestra di PowerShell.

Lascia un commento

Come creare uno script in Blocco note su Windows 10

Come creare uno script in Blocco note su Windows 10

Crea uno script batch o PowerShell in Blocco note su Windows 10, salvalo con l'estensione corretta ed eseguilo con lo strumento Windows corrispondente.

Come acquisire uno screenshot a schermo intero di un video di YouTube su Windows 10

Come acquisire uno screenshot a schermo intero di un video di YouTube su Windows 10

Nascondi i controlli del player di YouTube, cattura un'immagine a schermo intero su Windows 10 e salvala o ritagliala con gli strumenti di screenshot integrati.

Come disconnettere altri utenti in Windows 10

Come disconnettere altri utenti in Windows 10

Disconnetti un altro account Windows 10 da Gestione attività oppure termina una sessione Desktop remoto idonea con il Prompt dei comandi. Verifica quale si chiude per prima.

Come usare cURL su Windows 10: comandi essenziali

Come usare cURL su Windows 10: comandi essenziali

Scopri come utilizzare cURL su Windows 10 per testare gli URL, ispezionare le intestazioni, scaricare file e inviare richieste API, con suggerimenti e soluzioni ai problemi tramite PowerShell.

Come rimuovere il silenzio da un file audio su Windows 10

Come rimuovere il silenzio da un file audio su Windows 10

Utilizza l'effetto Tronca silenzio di Audacity per accorciare le lunghe pause su Windows 10, regola il rilevamento in modo che il parlato a basso volume rimanga intatto ed esporta un file modificato separato.

Come disattivare automaticamente l'audio quando si scollegano le cuffie in Windows 10

Come disattivare automaticamente l'audio quando si scollegano le cuffie in Windows 10

Utilizza uno script PowerShell per la gestione dei dispositivi al fine di disattivare l'audio di Windows 10 quando le cuffie vengono scollegate, avvialo all'accesso e comprendi i suoi limiti hardware.

Come mantenere lo schermo attivo mentre un'app è in esecuzione su Windows 10

Come mantenere lo schermo attivo mentre un'app è in esecuzione su Windows 10

Mantieni acceso lo schermo di Windows 10 solo mentre è in esecuzione un'app selezionata, utilizzando uno script PowerShell che ripristina il normale comportamento inattivo alla chiusura dell'app.

Come verificare se Windows 10 utilizza UEFI o BIOS legacy

Come verificare se Windows 10 utilizza UEFI o BIOS legacy

Apri le Informazioni di sistema per leggere la Modalità BIOS, capire cosa significano UEFI o Legacy e trovare il percorso di Windows 10 per le impostazioni del firmware.

Come ricevere una notifica al termine di un comando del prompt dei comandi su Windows 10

Come ricevere una notifica al termine di un comando del prompt dei comandi su Windows 10

Installa Node.js e l'utility Hey, aggiungi un prefisso ai comandi a lunga esecuzione nel prompt dei comandi di Windows 10 e regola le impostazioni di notifica se non viene visualizzato l'avviso di completamento.

Come creare un collegamento al prompt dei comandi che si apra in una cartella su Windows 10

Come creare un collegamento al prompt dei comandi che si apra in una cartella su Windows 10

Crea un collegamento al prompt dei comandi di Windows 10 che si apra in una cartella a tua scelta. Imposta un percorso "Avvia in" per l'utilizzo standard oppure configura un collegamento separato con privilegi elevati.