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 włączyć nowe ustawienia zaawansowane w systemie Windows 11

Jak włączyć nowe ustawienia zaawansowane w systemie Windows 11

Aby włączyć nowe Ustawienia zaawansowane w systemie Windows 11, uruchom polecenie vivetool /enable /id:56005157, co umożliwi dostęp do nowych funkcji Eksploratora plików i maszyn wirtualnych.

W systemie Windows 11 dodano funkcję testowania szybkości łącza internetowego, ale jest to tylko kolejny link do wyszukiwarki Bing

W systemie Windows 11 dodano funkcję testowania szybkości łącza internetowego, ale jest to tylko kolejny link do wyszukiwarki Bing

W systemie Windows 11 pojawi się nowa opcja testu szybkości łącza internetowego. Będzie to jednak po prostu link umożliwiający dostęp do funkcji testowej w usłudze Microsoft Bing.

Jak wyłączyć (lub odinstalować) program Windows 10 Copilot z paska zadań

Jak wyłączyć (lub odinstalować) program Windows 10 Copilot z paska zadań

Aby wyłączyć funkcję Windows 10 Copilot, kliknij prawym przyciskiem myszy pasek zadań i wyczyść opcję Pokaż przycisk Copilot (podgląd), wyłącz zasady lub skorzystaj z Rejestru.

Czysta instalacja systemu Windows 11 25H2 na nieobsługiwanym sprzęcie

Czysta instalacja systemu Windows 11 25H2 na nieobsługiwanym sprzęcie

Możesz przeprowadzić czystą instalację systemu Windows 11 25H2 na nieobsługiwanym sprzęcie, używając niestandardowego nośnika rozruchowego USB z programem Rufus i najnowszą wersją systemu operacyjnego.

Czy powinienem uaktualnić system do Windows 11, czy zarejestrować system Windows 10 w programie ESU? Oto jak podjąć decyzję

Czy powinienem uaktualnić system do Windows 11, czy zarejestrować system Windows 10 w programie ESU? Oto jak podjąć decyzję

Wsparcie dla systemu Windows 10 kończy się 14 października 2025 r. Zaktualizować do systemu Windows 11 czy skorzystać z programu ESU firmy Microsoft? Oto jak wybrać najlepsze rozwiązanie dla swojego komputera.

Jak wymusić aktualizację do systemu Windows 11 25H2 za pomocą Asystenta instalacji

Jak wymusić aktualizację do systemu Windows 11 25H2 za pomocą Asystenta instalacji

Aby wymusić instalację systemu Windows 11 25H2 na komputerze, gdy usługa Windows Update nie działa, możesz pobrać Asystenta instalacji i wykonać poniższe kroki.

Jak zezwolić aplikacjom na dostęp przez zaporę sieciową w systemie Windows 11

Jak zezwolić aplikacjom na dostęp przez zaporę sieciową w systemie Windows 11

Aby zezwolić aplikacji na dostęp przez zaporę systemu Windows 11, otwórz Zabezpieczenia systemu Windows, Zaporę i użyj opcji Zezwalaj aplikacji na dostęp przez zaporę. Oto instrukcja.

Jak szybciej zainstalować aplikację WinApp Tool w systemie Windows 11

Jak szybciej zainstalować aplikację WinApp Tool w systemie Windows 11

Dowiedz się, jak zainstalować i używać interfejsu wiersza poleceń WinApp w systemie Windows 11, aby szybciej tworzyć, testować i pakować aplikacje dzięki obsłudze języków Python, Electron, .NET i innych.

Aktualizacja awaryjna KB5078129 naprawia błędy ze stycznia 2026 r. w systemie Windows 10 ESU

Aktualizacja awaryjna KB5078129 naprawia błędy ze stycznia 2026 r. w systemie Windows 10 ESU

KB5078129 Wydania aktualizacji poza pasmem mające na celu naprawienie awarii aplikacji i problemów z programem Outlook w systemach Windows 10 22H2 i 21H2 spowodowanych przez aktualizacje ze stycznia.

Microsoft tworzy program podglądu aplikacji dla systemu Windows 10

Microsoft tworzy program podglądu aplikacji dla systemu Windows 10

Każdy będzie mógł testować nowe, ciekawe funkcje w aplikacjach systemu Windows 10 znacznie łatwiej, bez konieczności instalowania kompilacji Skip Ahead, dzięki nowemu programowi Windows App Preview. Oto, na czym on polega i jak do niego dołączyć. Czytaj więcej...