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

Mit WinTrezur können Sie Fotos verschlüsseln und ein Bild als Kennwort festlegen

Mit WinTrezur können Sie Fotos verschlüsseln und ein Bild als Kennwort festlegen

Wenn Sie Ihren Computer mit anderen Familienmitgliedern in Ihrem Haus teilen und er einige private Bilder enthält, die niemand sonst sehen soll als

Uberstaller – Vollständiges Deinstallationsprogramm und Spurenentferner

Uberstaller – Vollständiges Deinstallationsprogramm und Spurenentferner

Das Deinstallieren einer Anwendung mit der Windows-Standardfunktion „Programme hinzufügen/entfernen“ hinterlässt manchmal Spuren in der Registrierung und auf dem Datenträger. Dies ist ein

Epic Pen: Das beste Bildschirmanmerkungstool für Windows und Mac

Epic Pen: Das beste Bildschirmanmerkungstool für Windows und Mac

Verbessern Sie Ihre Präsentationen und Screencasts mit Epic Pen. Mit dieser leistungsstarken Open-Source-Anwendung können Sie in jedem Fenster zeichnen und markieren.

26 tolle Windows 7-Designs

26 tolle Windows 7-Designs

Windows 7 ist das erste Betriebssystem von Microsoft, das weitgehend unter Berücksichtigung des Benutzerfeedbacks entwickelt wurde. Es ist viel schneller und

So deaktivieren/entfernen Sie das Herunterfahren von Windows 7 / Vista / XP

So deaktivieren/entfernen Sie das Herunterfahren von Windows 7 / Vista / XP

Möchten Sie Ihren Computer an einen Server anschließen und verhindern, dass er herunterfährt? Oder möchten Sie verhindern, dass jemand Ihren PC herunterfährt für

So deaktivieren/deaktivieren Sie die Systemwiederherstellung in Windows 7/Vista/XP

So deaktivieren/deaktivieren Sie die Systemwiederherstellung in Windows 7/Vista/XP

Immer wenn Benutzer Softwareprogramme, Treiber, Updates, Hotfixes und andere systemverändernde Dateien installieren, erstellt Windows Vista und Windows XP einen Wiederherstellungspunkt

So installieren Sie NVMe für Windows 10: Eine umfassende Anleitung

So installieren Sie NVMe für Windows 10: Eine umfassende Anleitung

Möchten Sie eine NVMe-SSD in Windows 10 installieren? Folgen Sie unserer Anleitung, um das Laufwerk mithilfe der nativen Unterstützung des Betriebssystems einfach zu formatieren.

So erstellen Sie eine benutzerdefinierte Leinwandvorgabe in Photoshop

So erstellen Sie eine benutzerdefinierte Leinwandvorgabe in Photoshop

So erstellen und speichern Sie eine benutzerdefinierte Leinwandvorgabe in Photoshop

So drucken Sie von Ihrem Telefon auf einem Desktop-Drucker

So drucken Sie von Ihrem Telefon auf einem Desktop-Drucker

So drucken Sie von Ihrem Telefon auf einem Desktop-Drucker

Dwm.exe-Prozess – Desktop-Fensterverwaltung

Dwm.exe-Prozess – Desktop-Fensterverwaltung

Was ist Dwm.exe? Dwm steht für Desktop Window Manager und wird verwendet, um Ihrem Windows-Desktop grafische Effekte wie transparente Fenster, Live-