Startseite
» WINDOWS
»
So schalten Sie den Ton in Windows 10 automatisch stumm, wenn Kopfhörer ausgesteckt werden
So schalten Sie den Ton in Windows 10 automatisch stumm, wenn Kopfhörer ausgesteckt werden
Windows 10 verfügt über keine universelle Option zum Stummschalten des Tons beim Abziehen von Kopfhörern. Ein PowerShell-Skript kann Geräteänderungen überwachen und den Standardwiedergabe-Endpunkt nach dem Entfernen stummschalten. Sie können das Skript manuell starten oder es vom Taskplaner beim Anmelden ausführen lassen.
Das Skript schaltet die Wiedergabe stumm; es pausiert keine App. Es überwacht außerdem Geräteänderungen am gesamten PC, nicht nur an den Kopfhörern, sodass auch andere Geräte die Aktion auslösen können.
Prüfen Sie, wie Windows Ihre Kopfhörer erkennt.
Öffnen Sie Start > Einstellungen > System > Sound und prüfen Sie, ob Kopfhörer unter Ausgabe separat aufgeführt werden . Windows ermöglicht hier die Auswahl eines Ausgabegeräts und die Lautstärkeregelung, bietet jedoch keine automatische Stummschaltung beim Abziehen des Kopfhörers. Informationen zur Gerätesteuerung finden Sie in der Microsoft- Dokumentation zu den Audioeinstellungen.
Auf der Seite „Sound“ können Sie einen Ausgang auswählen; es wird keine automatische Stummschaltungsregel erstellt.
Prüfen Sie in den Audioeinstellungen Ihres PCs, ob eine Kopfhörerbuchse vorhanden ist. Die Verfügbarkeit hängt vom Audiotreiber ab. Der physische Stecker einer analogen Klinkenbuchse ist selbst kein Plug-and-Play-Gerät. Manche Audioadapter melden Windows das Vorhandensein der Buchse, andere nicht. Daher kann es vorkommen, dass dieses Skript das Abziehen eines 3,5-mm-Steckers nicht erkennt. Microsoft erläutert diesen Unterschied in seiner Dokumentation zu Audioendpunkten . USB- oder Bluetooth-Headsets können je nach Gerät und Treiber ebenfalls ein Geräteereignis auslösen, wenn Windows sie hinzufügt oder entfernt.
Speichern Sie das PowerShell-Skript.
Öffnen Sie Prateek Singhs Original-PSAutoMute-Skript und prüfen Sie den Code, bevor Sie es ausführen. Es nutzt Windows-Audioschnittstellen, um den standardmäßigen Multimedia-Wiedergabeendpunkt stummzuschalten und überwacht WMI-Ereignisse.
Speichern Sie die Datei in einem permanenten Ordner, z. B. C:\Scriptsin Notepad. Wählen Sie dazu „Datei“ > „Speichern unter“ , benennen Sie die Datei MuteWhenHeadphonesDisconnect.ps1und wählen Sie als Dateityp „ Alle Dateien (*.*)“ . Stellen Sie sicher, dass im Datei-Explorer die .ps1Dateiendung .js und nicht .js angezeigt wird .ps1.txt.
Speichern Sie die Datei mit der Dateiendung .ps1 und wählen Sie „Alle Dateien“, damit Notepad nicht die Endung .txt anhängt.
Die Ereignisklasse des Skripts ist weit gefasst. Laut Microsoft Win32_DeviceChangeEventdeckt sie Geräteänderungen im gesamten Computer ab: Ereignistyp 2 bedeutet „Ankunft“, Typ 3 bedeutet „Entfernung“. Dieses Skript schaltet den Ton bei jeder Entfernung stumm und bei jeder Ankunft wieder auf, sofern der Ton stummgeschaltet ist. Ein USB-Laufwerk könnte daher den Ton wieder aktivieren, oder das Entfernen einer Maus könnte ihn stummschalten. Das Skript kann nicht erkennen, ob Sie die Lautsprecher selbst stummgeschaltet haben. Die genauen Definitionen finden Sie in der Ereignisklassenreferenz von Microsoft.
PowerShell-Skripte sind ausführbarer Code. Überprüfen Sie daher die Datei zuerst. Verwenden Sie auf einem privaten PC, auf dem Sie die Berechtigung zur Ausführung haben, RemoteSignedausschließlich diesen PowerShell-Prozess. Dadurch werden die persistenten Computer- oder Benutzerrichtlinien nicht geändert. Falls Windows die heruntergeladene Datei weiterhin blockiert, überprüfen Sie sie und führen Sie sie aus Unblock-File -Path "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1". Microsoft erläutert diese Bereiche in seinen Ausführungsrichtlinien . Überschreiben Sie keine Richtlinien Ihres Arbeitsplatzes oder Ihrer Schule.
Führe es aus und teste es.
Öffnen Sie Windows PowerShell über das Startmenü als Ihr normaler Benutzer, wechseln Sie in den Skriptordner und starten Sie dann den Monitor:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
Set-Location C:\Scripts
.\MuteWhenHeadphonesDisconnect.ps1
Ersetzen Sie den Ordnerpfad, falls Sie die Datei an einem anderen Ort gespeichert haben. Das Skript läuft in einer Schleife, daher bleibt das PowerShell-Fenster belegt. Lassen Sie es während des Testens geöffnet; drücken Sie Strg+C, um es zu beenden.
Starten Sie den Monitor in Windows PowerShell und lassen Sie dessen Fenster geöffnet.
Beginnen Sie mit geringer Lautstärke. Trennen Sie die Kopfhörer einmal vom Stromnetz und schließen Sie sie wieder an. Prüfen Sie, ob Windows den Ton stummschaltet und anschließend wiederherstellt. Da die Funktion systemweit aktiv ist, können auch andere Geräteänderungen die gleiche Reaktion hervorrufen. Wenn Ihre analoge Buchse keine Reaktion zeigt, meldet der Audiotreiber die Entfernung des Geräts möglicherweise nicht. Falls das falsche Wiedergabegerät betroffen ist, überprüfen Sie, welcher Endpunkt in Windows als Standard festgelegt ist. Das Skript steuert diesen Endpunkt, nicht die einzelnen anwendungsspezifischen Ausgänge.
Starten Sie es beim Anmelden.
Öffnen Sie die Aufgabenplanung , wählen Sie „Einfache Aufgabe erstellen“ und benennen Sie die Aufgabe.
Wählen Sie „Beim Anmelden“ als Auslöser. Dadurch wird die Überwachung in Ihrer Benutzersitzung gestartet, in der Ihr Wiedergabegerät verfügbar ist. Microsoft dokumentiert den entsprechenden -AtLogOnAuslöser unter New-ScheduledTaskTrigger .
Wählen Sie „Programm starten“ . Stellen Sie „Programm/Skript“ auf „ “ ein powershell.exe. Geben Sie unter „Argumente hinzufügen“ den Pfad zu Ihrer Datei ein -NoProfile -ExecutionPolicy RemoteSigned -File "C:\Scripts\MuteWhenHeadphonesDisconnect.ps1"und ersetzen Sie ihn durch den vollständigen Speicherort Ihrer Datei.
Schließen Sie den Assistenten ab, öffnen Sie dann die Eigenschaften der Aufgabe und stellen Sie sie so ein, dass sie nur ausgeführt wird, wenn Sie angemeldet sind. Testen Sie die Aufgabe bei Ihrer nächsten Anmeldung, bevor Sie das Fenster ausblenden oder minimieren. Starten Sie keine zweite Instanz, während die geplante Aufgabe ausgeführt wird.
Wählen Sie für die Anmeldeaufgabe „Programm starten“ und verweisen Sie dann auf PowerShell und Ihr Skript.
Wann sollte man eine andere Methode anwenden?
Diese Umgehungslösung eignet sich am besten, wenn ein allgemeines Geräteänderungsverhalten akzeptabel ist. Die Core Audio API von Microsoft bietet eine IMMNotificationClientSchnittstelle für Benachrichtigungen zum Hinzufügen und Entfernen von Audio-Endpunkten, die jedoch im verlinkten Skript nicht implementiert ist. Ein Treiber muss außerdem eine Änderung der physischen Buchse als Endpunktereignis bereitstellen. Für das Verhalten ausschließlich bei Kopfhörern verwenden Sie ein Dienstprogramm des PC-Herstellers, das die Buchsenerkennung explizit unterstützt, oder ein Tool, das den korrekten Audio-Endpunkt filtert. Weitere Informationen finden Sie in der Dokumentation zu IMMNotificationClient von Microsoft .
Um den automatischen Start rückgängig zu machen, deaktivieren oder löschen Sie die Aufgabe in der Aufgabenplanung. Um ein manuell gestartetes Skript zu beenden, drücken Sie Strg+C im zugehörigen PowerShell-Fenster.