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

So erhalten Sie Schlafenszeit-Benachrichtigungen basierend auf der Zeit, zu der Sie aufwachen müssen

So erhalten Sie Schlafenszeit-Benachrichtigungen basierend auf der Zeit, zu der Sie aufwachen müssen

So erhalten Sie Schlafenszeit-Benachrichtigungen basierend auf der Zeit, zu der Sie aufwachen müssen

So schalten Sie Ihren Computer über Ihr Telefon aus

So schalten Sie Ihren Computer über Ihr Telefon aus

So schalten Sie Ihren Computer über Ihr Telefon aus

Reparieren und beheben Sie das Windows 7-Update

Reparieren und beheben Sie das Windows 7-Update

Windows Update arbeitet grundsätzlich in Verbindung mit der Registrierung und verschiedenen DLL-, OCX- und AX-Dateien. Falls diese Dateien beschädigt werden, sind die meisten Funktionen von

Returnil Virtual System 2010 – Virtualisieren Sie Ihr System

Returnil Virtual System 2010 – Virtualisieren Sie Ihr System

Neue Systemschutz-Suiten schießen in letzter Zeit wie Pilze aus dem Boden, alle bringen eine weitere Antiviren-/Spam-Erkennungslösung mit sich, und wenn Sie Glück haben

So aktivieren Sie Bluetooth unter Windows 10/11

So aktivieren Sie Bluetooth unter Windows 10/11

Erfahren Sie, wie Sie Bluetooth unter Windows 10/11 aktivieren. Bluetooth muss aktiviert sein, damit Ihre Bluetooth-Geräte ordnungsgemäß funktionieren. Keine Sorge, es ist ganz einfach!

PDF Rider ist eine brillante Open-Source-PDF-Verwaltungssoftware

PDF Rider ist eine brillante Open-Source-PDF-Verwaltungssoftware

Zuvor haben wir NitroPDF getestet, einen netten PDF-Reader, der es dem Benutzer auch ermöglicht, Dokumente in PDF-Dateien zu konvertieren, mit Optionen wie Zusammenführen und Aufteilen der PDF

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).