Jak automatycznie wyciszyć dźwięk po odłączeniu słuchawek w systemie Windows 10?

Windows 10 może przechowywać oddzielne profile audio dla różnych urządzeń audio. Dla każdego podłączonego urządzenia audio można ustawić inny poziom głośności, a po podłączeniu urządzenia głośność dostosuje się automatycznie. Oczywiście nikt nie utrzymuje wyciszenia urządzenia audio przez cały czas. Zwiększają lub zmniejszają głośność, ale nikt nie wycisza urządzenia audio.

Jeśli używasz słuchawek z pulpitem i często musisz je odłączać, możesz użyć małego skryptu PowerShell, który automatycznie wyciszy dźwięk po odłączeniu słuchawek.

To jest coś, co robią telefony komórkowe, tzn. po odłączeniu słuchawek muzyka zatrzymuje się automatycznie. Logika za tym polega na tym, że albo skończyłeś słuchać muzyki, albo przypadkowo usunąłeś słuchawki i potrzebujesz szybkiego sposobu na ich wyłączenie. Scenariusz został w zasadzie napisany na tej samej zasadzie przez  Prateeka Singha z GEEKEEFY .

Jak automatycznie wyciszyć dźwięk po odłączeniu słuchawek w systemie Windows 10?

Automatycznie wycisz dźwięk

Otwórz Notatnik i wklej następujące;

[cmdletbinding()] Param() #Dodawanie definicji dostępu do interfejsu Audio API Add-Type -TypeDefinition @' przy użyciu System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume { // f(), g(), ... są nieużywanymi gniazdami metod COM. Zdefiniuj je, jeśli Ci zależy int f(); int g(); int h(); int i(); int SetMasterVolumeLevelScalar(zmienna 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)] interface IMMDevice { int Activate(ref System.Guid id, int clsCtx, int aktywacjaParams, out IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IMMDeviceEnumerator { int f(); // Nieużywany 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() jako 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)); powrót 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(wyciszenie)); zwróć wyciszenie; } set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); } } } '@ -Verbose While($true) { #Wyczyść wszystkie zdarzenia w bieżącej sesji, ponieważ znajduje się ona w nieskończonej pętli, aby rozpocząć od nowa po rozpoczęciu pętli Get-Event | Remove-Event -ErrorAction SilentlyContinue #Rejestrowanie zdarzenia i oczekiwanie na wyzwolenie zdarzenia Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event |Out-Null $EventType = $Event.sourceargs. nowe wydarzenie | ` Sort-Object TIME_CREATED - Malejąco | ` Select-Object EventType -ExpandProperty EventType -First 1 #Warunkowa logika do obsłużenia, Kiedy wyciszyć/wyłączyć wyciszenie komputera za pomocą interfejsu API audio If($EventType -eq 3) { [Audio]::Mute = $true Write-Verbose "Wyciszony [$((Get-Date).tostring()]" } elseif($EventType -eq 2 -and [Audio]::Mute -eq $true) { [Audio]::Mute = $false Write-Verbose " Bez wyciszenia [$((Get-Date).tostring()]]" } }

Zapisz go z rozszerzeniem pliku PS1. Upewnij się, że wybrałeś „Wszystkie pliki” z listy rozwijanej typu pliku. Nadaj plikowi nazwę, która od razu powie Ci, co robi. Zapisz go w miejscu, w którym prawdopodobnie nie usuniesz go przypadkowo, ale także tam, gdzie możesz go łatwo znaleźć, jeśli zajdzie taka potrzeba.

Uruchamianie skryptu

PowerShell nie może po prostu automatycznie uruchomić skryptu. Istnieje wbudowany środek bezpieczeństwa, który temu zapobiega, ale można to obejść. Mamy szczegółowy artykuł o tym, jak możesz to zrobić. Postępuj zgodnie z instrukcjami, aby automatycznie uruchomić właśnie utworzony skrypt PowerShell i użyj zaplanowanego zadania, aby uruchomić skrypt przy każdym uruchomieniu komputera.

Alternatywnie możesz ręcznie uruchomić skrypt podczas uruchamiania systemu. Używam go niecałe 30 minut i nie wiem, jak wcześniej bez niego żyłem.

Leave a Comment

Jak wykonać kopię zapasową i przywrócić ważne pliki/foldery w systemie Windows 7

Jak wykonać kopię zapasową i przywrócić ważne pliki/foldery w systemie Windows 7

W świecie komputerów zawsze bądź przygotowany na najgorsze. Prawie wszystkie wersje systemu Microsoft Windows oferują narzędzie do tworzenia kopii zapasowych danych, ale ich możliwości są ograniczone.

Zmiana ekranu logowania menu kontekstowego systemu Windows 7

Zmiana ekranu logowania menu kontekstowego systemu Windows 7

Istnieje wiele aplikacji, które pozwalają użytkownikowi zmienić ekran logowania systemu Windows 7. Prawie wszystkie wymagają uruchomienia aplikacji i nie wymagają instalacji.

Otrzymuj powiadomienia dźwiękowe dotyczące klawiszy Caps, Num i Scroll Lock w systemie Windows 10

Otrzymuj powiadomienia dźwiękowe dotyczące klawiszy Caps, Num i Scroll Lock w systemie Windows 10

Włącz powiadomienia dźwiękowe przy wciśniętym klawiszu Caps Lock w systemie Windows 10. Dowiedz się, jak włączyć tę funkcję i otrzymywać powiadomienia o włączeniu klawisza Caps Lock.

Automatyczne przełączanie między sieciami statycznymi i DHCP w systemie Windows

Automatyczne przełączanie między sieciami statycznymi i DHCP w systemie Windows

Masz dość ręcznego przełączania się między sieciami statycznymi a DHCP w systemie Windows? Dowiedz się, jak skonfigurować automatyczne przełączanie sieci.

Transmituj ekran swojego iPhonea na komputer z systemem Windows lub Mac za pomocą AirPlay

Transmituj ekran swojego iPhonea na komputer z systemem Windows lub Mac za pomocą AirPlay

Dowiedz się, jak przesyłać ekran swojego iPhone'a na komputer z systemem Windows za pomocą LonelyScreen, bezpłatnej aplikacji oferującej funkcjonalność AirPlay.

Zdalne blokowanie komputerów Mac/Windows z iPhonea lub Apple Watch

Zdalne blokowanie komputerów Mac/Windows z iPhonea lub Apple Watch

Zapomniałeś zablokować komputer? LockItUp to aplikacja na iOS, która umożliwia zdalne zablokowanie komputera Mac lub PC z systemem Windows za pomocą iPhone'a lub Apple Watch.

Znajdź identyfikator SID (identyfikator zabezpieczeń) systemu Windows 7/2008

Znajdź identyfikator SID (identyfikator zabezpieczeń) systemu Windows 7/2008

W tym poście omówimy następujące kwestie: Czym jest SID? Jak znaleźć SID komputera? Czym jest SID? SID to skrót od Security Identifier (Identyfikator Bezpieczeństwa), czyli…

Aktualizuj sterowniki w systemie Windows za pomocą łatwej kopii zapasowej

Aktualizuj sterowniki w systemie Windows za pomocą łatwej kopii zapasowej

Każdy laptop ma folder ze sterownikami. Jeśli masz komputer stacjonarny, musisz mieć pod ręką kilka płyt CD z instalacją sterowników. Podczas aktualizacji

Czy odblokowany Steam jest bezpieczny? Sprawdźmy.

Czy odblokowany Steam jest bezpieczny? Sprawdźmy.

Tak, Steam Unlocked jest bezpieczny, ale przed pobraniem z serwisu należy zachować ostrożność. Dowiedz się, jak bezpiecznie korzystać ze Steama.

Jak ponownie uruchomić system Windows 11: 5 skutecznych metod do wypróbowania

Jak ponownie uruchomić system Windows 11: 5 skutecznych metod do wypróbowania

Ponowne uruchomienie systemu Windows 11 może stać się pilną potrzebą w dowolnym momencie pracy. Oto 5 najlepszych sposobów, aby zrobić to bezproblemowo.