So schalten Sie den Ton automatisch stumm, wenn die Kopfhörer unter Windows 10 abgezogen werden

Windows 10 kann separate Audioprofile für verschiedene Audiogeräte beibehalten. Für jedes angeschlossene Audiogerät können Sie eine andere Lautstärke einstellen, und wenn das Gerät angeschlossen ist, wird die Lautstärke automatisch angepasst. Natürlich lässt niemand ein Audiogerät die ganze Zeit stumm. Sie erhöhen oder verringern die Lautstärke, aber niemand schaltet ein Audiogerät normalerweise stumm.

Wenn Sie einen Kopfhörer mit Ihrem Desktop verwenden und diese häufig trennen müssen, können Sie ein kleines PowerShell-Skript verwenden, das den Ton automatisch stummschaltet, wenn Sie die Kopfhörer trennen.

Dies ist etwas, was Mobiltelefone tun, dh wenn Sie Ihre Kopfhörer abziehen, stoppt die Musik automatisch. Die Logik dahinter ist, dass Sie entweder mit dem Musikhören fertig sind oder Ihre Kopfhörer versehentlich abgenommen haben und eine schnelle Möglichkeit benötigen, um sie auszuschalten. Das Drehbuch wurde im Grunde nach dem gleichen Prinzip von  Prateek Singh von GEEEKEEFY geschrieben .

So schalten Sie den Ton automatisch stumm, wenn die Kopfhörer unter Windows 10 abgezogen werden

Ton automatisch stumm schalten

Öffnen Sie Notepad und fügen Sie Folgendes ein;

[cmdletbinding()] Param() #Hinzufügen von Definitionen für den Zugriff auf die Audio-API Add-Type -TypeDefinition @' using System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume { // f(), g(), ... sind ungenutzte COM-Methoden-Slots. Definieren Sie diese bei Interesse 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)] Schnittstelle IMMDevice { int Activate(ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] Schnittstelle IMMDeviceEnumerator { int f(); // Nicht verwendet 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)); Rückkehr 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)); Rückkehr stumm; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Alle Ereignisse in der aktuellen Sitzung löschen, da sie sich in einer Endlosschleife befindet, um einen Neustart zu machen, wenn die Schleife beginnt Get-Event | Remove-Event -ErrorAction SilentlyContinue #Registrieren des Ereignisses und Warten auf Auslösen des Ereignisses Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. neues Ereignis | ` Sortier-Objekt TIME_CREATED -Absteigend | ` Select-Object EventType -ExpandProperty EventType -First 1 #Zu behandelnde Bedingungslogik, Wann die Maschine mit der Audio-API stumm/aufgehoben werden soll 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 " Nicht stummgeschaltet [$((Get-Date).tostring())]" } }

Speichern Sie es mit der PS1-Dateierweiterung. Stellen Sie sicher, dass Sie im Dropdown-Menü für den Dateityp "Alle Dateien" auswählen. Geben Sie der Datei einen Namen, der Ihnen auf einen Blick sagt, was sie tut. Speichern Sie es an einem Ort, an dem Sie es wahrscheinlich nicht versehentlich löschen, aber auch dort, wo Sie es bei Bedarf leicht finden können.

Das Skript ausführen

PowerShell kann ein Skript nicht einfach automatisch ausführen. Es gibt eine eingebaute Sicherheitsmaßnahme, die dies verhindert, aber es gibt einen Weg, dies zu umgehen. Wir haben einen ausführlichen Artikel darüber, wie Sie genau das tun können. Befolgen Sie die Anweisungen, um das gerade erstellte PowerShell-Skript automatisch auszuführen , und verwenden Sie eine geplante Aufgabe, um das Skript jedes Mal zu starten, wenn Sie Ihren PC starten.

Alternativ können Sie das Skript beim Booten Ihres Systems manuell ausführen. Ich benutze es seit weniger als 30 Minuten und ich weiß nicht, wie ich vorher ohne es gelebt habe.

Leave a Comment

Bereinigen Sie Textdateien mit Text Cleanser

Bereinigen Sie Textdateien mit Text Cleanser

Haben Sie schon einmal ein Dokument oder eine Textdatei mit redundanten, unbrauchbaren Zeichen erhalten? Enthält der Text viele Sternchen, Bindestriche, Leerzeichen usw.?

Google-Schnellsuchfeld in der Windows 7-Taskleiste

Google-Schnellsuchfeld in der Windows 7-Taskleiste

So viele Leute haben nach dem kleinen rechteckigen Google-Symbol neben Windows 7 Start Orb auf meiner Taskleiste gefragt, dass ich mich endlich entschlossen habe, dies zu veröffentlichen

Fix für uTorrent in Windows 7

Fix für uTorrent in Windows 7

uTorrent ist mit Abstand der beliebteste Desktop-Client zum Herunterladen von Torrents. Obwohl es bei mir unter Windows 7 einwandfrei funktioniert, haben einige Leute

2 tolle Tools, die Sie daran erinnern, Ihre Augen zu entspannen

2 tolle Tools, die Sie daran erinnern, Ihre Augen zu entspannen

Jeder muss bei der Arbeit am Computer häufig Pausen einlegen. Wenn Sie keine Pausen machen, besteht eine große Chance, dass Ihre Augen aufspringen (okay, nicht aufspringen).

82 wichtige Open-Source-Windows-Dienstprogramme unter einer Haube

82 wichtige Open-Source-Windows-Dienstprogramme unter einer Haube

Es gibt möglicherweise mehrere Anwendungen, an die Sie als normaler Benutzer sehr gewöhnt sind. Die meisten der häufig verwendeten kostenlosen Tools erfordern eine mühsame Installation.

Belvedere – Automatisiertes Dateiverwaltungstool für Windows

Belvedere – Automatisiertes Dateiverwaltungstool für Windows

Ich habe schöne Erinnerungen aus meiner Kindheit an die TV-Sitcom Mr.Belvedere, also das Werkzeug, das wir besprechen werden, hat seinen Namen von dieser TV-Sitcom, nur haben

Versteckte Dateien und Ordner auf dem USB-Laufwerk anzeigen

Versteckte Dateien und Ordner auf dem USB-Laufwerk anzeigen

Um versteckte Dateien und Ordner auf dem USB-Laufwerk anzuzeigen, können Sie einfach zu Ordneroptionen > Ansicht > navigieren und Versteckte Dateien und Ordner anzeigen auswählen. Aber das

So speichern Sie Audio- und Equalizer-Einstellungen im VLC Player

So speichern Sie Audio- und Equalizer-Einstellungen im VLC Player

VLC ist der beliebteste Mediaplayer für fortgeschrittene Benutzer und Amateure. Die Konfiguration grundlegender Einstellungen und Optionen ist einfach, aber das Eintauchen in

Mein Fotoindex: Opensource Photo Organizer für Windows

Mein Fotoindex: Opensource Photo Organizer für Windows

Picasa ist ein großartiges Tool zur Fotoorganisation, manche mögen anderer Meinung sein. Wenn Sie Windows verwenden, ist die Windows Live Fotogalerie auch eine gute Alternative. Aber

Legen Sie im Multi-Monitor-Setup für jeden Monitor ein anderes Hintergrundbild/einen anderen Hintergrund fest

Legen Sie im Multi-Monitor-Setup für jeden Monitor ein anderes Hintergrundbild/einen anderen Hintergrund fest

Haben Sie genug von dem gleichen Hintergrundbild auf jedem Monitor? Verwenden Sie Wallmaster, um für jeden Monitor in Ihrem Multi-Monitor-Setup ein anderes Hintergrundbild festzulegen.