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.

Zostaw komentarz

Jak utworzyć bootowalny nośnik instalacyjny USB z systemem Windows 11 25H2

Jak utworzyć bootowalny nośnik instalacyjny USB z systemem Windows 11 25H2

Aby utworzyć instalator USB z możliwością rozruchu systemu Windows 11 25H2, możesz użyć narzędzi Rufus, Ventoy, Command Prompt i Media Creation. Oto instrukcja.

Kompilacja 26220.7653 (KB5074157) dla systemu Windows 11 wprowadza nowe udoskonalenia trybu ciemnego (wersja rozwojowa, beta)

Kompilacja 26220.7653 (KB5074157) dla systemu Windows 11 wprowadza nowe udoskonalenia trybu ciemnego (wersja rozwojowa, beta)

Aktualizacja KB5074157 (kompilacja 26220.7653) dla systemu Windows 11 udoskonala tryb ciemny, dodaje obsługę tapet WebP i naprawia problemy z paskiem zadań, menu Start, Bluetooth i innymi elementami.

Aktualizacja systemu Windows 11 KB5074109 okazała się katastrofą – lista głównych problemów

Aktualizacja systemu Windows 11 KB5074109 okazała się katastrofą – lista głównych problemów

Aktualizacja KB5074109 dla systemu Windows 11 ze stycznia 2026 r. powodowała awarie, problemy z rozruchem, problemy z programem Outlook i błędy dezinstalacji, zmuszając użytkowników do jej usunięcia.

Jak zapobiec wyświetlaniu konwersacji ChatGPT w wynikach wyszukiwania Google

Jak zapobiec wyświetlaniu konwersacji ChatGPT w wynikach wyszukiwania Google

Aby zapobiec wyświetlaniu konwersacji ChatGPT w wynikach wyszukiwania Google, przejrzyj i usuń publicznie udostępnione linki ChatGPT. Oto jak to zrobić.

Jak zainstalować podsystem Windows dla systemu Android (WSA) w systemie Windows 11

Jak zainstalować podsystem Windows dla systemu Android (WSA) w systemie Windows 11

Możesz zainstalować Podsystem Windows dla Androida (WSA), aby uruchamiać aplikacje Androida w systemie Windows 11 za pomocą sklepu Microsoft Store lub programu PowerShell. Oto jak to zrobić

Jak uniemożliwić ChatGPT wykorzystywanie Twoich danych osobowych do szkolenia sztucznej inteligencji

Jak uniemożliwić ChatGPT wykorzystywanie Twoich danych osobowych do szkolenia sztucznej inteligencji

Domyślnie OpenAI zbiera treść konwersacji ChatGPT w celu szkolenia sztucznej inteligencji. Oto jak wyłączyć tę funkcję, aby zapewnić większą prywatność.

Kompilacja 26120.4733 (KB5062651) dla wersji 24H2 systemu Windows 11 ze zmianami (wersja beta)

Kompilacja 26120.4733 (KB5062651) dla wersji 24H2 systemu Windows 11 ze zmianami (wersja beta)

Kompilacja 26120.4733 (KB5062651) dla systemu Windows 11 wprowadza nowy opis obrazu AI, przeprojektowanie uprawnień aplikacji i ochronę administratora w kanale beta.

Kompilacja 26200.5702 (KB5062653) dla systemu Windows 11 25H2 wprowadza nowe funkcje (wersja rozwojowa)

Kompilacja 26200.5702 (KB5062653) dla systemu Windows 11 25H2 wprowadza nowe funkcje (wersja rozwojowa)

Kompilacja 26200.5702 (KB5062653) dla systemu Windows 11 25H2 wprowadza opisy obrazów oparte na sztucznej inteligencji, nowe zabezpieczenia administratora, przeprojektowane okna dialogowe uprawnień i wiele więcej.

Jak zainstalować aplikację za pomocą winget w systemie Windows 10

Jak zainstalować aplikację za pomocą winget w systemie Windows 10

Teraz możesz używać polecenia winget do instalowania aplikacji w systemie Windows 10. Oto kroki, jak to zrobić przy użyciu Menedżera pakietów systemu Windows.

Jak włączyć (lub wyłączyć) klawisz Print Screen narzędzia Wycinanie w systemie Windows 11

Jak włączyć (lub wyłączyć) klawisz Print Screen narzędzia Wycinanie w systemie Windows 11

Włącz lub wyłącz klawisz Print Screen w narzędziu Wycinanie w systemie Windows 11 i przywróć klasyczny skrót lub przypisz go do innej aplikacji.