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

Wersje 29570 i 28020.1863 dla systemu Windows 11 trafiają do kanału Canary

Wersje 29570 i 28020.1863 dla systemu Windows 11 trafiają do kanału Canary

KB5083725 (kompilacja 28020.1863) i kompilacja 29570 dla systemu Windows 11 dodają tryb Xbox, zasady usuwania nadmiaru plików, ulepszenia touchpada i poprawki w kanale Canary.

Jak wyłączyć interfejs użytkownika udostępniania „Przeciągnij i upuść” w systemie Windows 11

Jak wyłączyć interfejs użytkownika udostępniania „Przeciągnij i upuść” w systemie Windows 11

Aby wyłączyć interfejs użytkownika „Przeciągnij i upuść” na górze ekranu w systemie Windows 11, możesz skorzystać z Ustawień, Rejestru, programu PowerShell lub Wiersza polecenia.

Microsoft dodaje obsługę agenta AI do systemu Windows 11, która będzie dostępna od kwietnia 2026 r.

Microsoft dodaje obsługę agenta AI do systemu Windows 11, która będzie dostępna od kwietnia 2026 r.

System Windows 11 zyskuje opcjonalną obsługę agenta AI na pasku zadań i w wyszukiwarce, począwszy od narzędzia Microsoft 365 Researcher i rozszerzając interfejsy API dla deweloperów.

Jak włączyć Sudo w systemie Windows 11

Jak włączyć Sudo w systemie Windows 11

W systemie Windows 11 otwórz Ustawienia > System > Zaawansowane, włącz opcję Włącz sudo i wybierz opcję Inline. Możesz też uruchomić polecenie sudo config --enable normal.

Jak dodać zegary z wieloma strefami czasowymi w systemie Windows 11

Jak dodać zegary z wieloma strefami czasowymi w systemie Windows 11

Aby wyświetlić wiele zegarów w systemie Windows 11, otwórz Ustawienia > Czas i język > Data i czas, kliknij pozycję Dodatkowe zegary w obszarze Pokaż czas i datę na pasku zadań.

Jak zmienić położenie wskaźników sprzętowych na ekranie w systemie Windows 11

Jak zmienić położenie wskaźników sprzętowych na ekranie w systemie Windows 11

Aby zmienić miejsce wyświetlania wskaźników głośności, jasności itp. na ekranie w systemie Windows 11, należy skorzystać z ustawień powiadomień.

Włącz tryb adaptacyjnego oszczędzania energii, aby wydłużyć czas pracy baterii w systemie Windows 11

Włącz tryb adaptacyjnego oszczędzania energii, aby wydłużyć czas pracy baterii w systemie Windows 11

Aby włączyć funkcję Adaptive Energy Saver w systemie Windows 11, użyj narzędzia ViveTool, aby włączyć funkcję o identyfikatorze 56401475 i wybierz opcję Adaptive na stronie Zasilanie i bateria.

Kompilacja 27898 dla systemu Windows 11 wprowadza nowe funkcje do systemu Canary Channel

Kompilacja 27898 dla systemu Windows 11 wprowadza nowe funkcje do systemu Canary Channel

Kompilacja 27898 dla systemu Windows 11 wprowadza nowe opcje dostosowywania, przeprojektowanie uprawnień aplikacji, narzędzie odzyskiwania, funkcje głosowe i zmiany dotyczące protokołu DMA.

Kompilacja 26120.4441 (KB5060816) dla nowych funkcji i zmian w systemie Windows 11 (wersja beta)

Kompilacja 26120.4441 (KB5060816) dla nowych funkcji i zmian w systemie Windows 11 (wersja beta)

Kompilacja 26120.4441 (KB5060816) systemu Windows 11 w wersji beta wprowadza eksport funkcji Recall w Europie, zegar w Centrum powiadomień z sekundami i inne zmiany.

Jak utworzyć rozruchowy dysk USB z systemem Windows 11 ARM64 (ARM) za pomocą programu Rufus

Jak utworzyć rozruchowy dysk USB z systemem Windows 11 ARM64 (ARM) za pomocą programu Rufus

Utwórz bootowalny dysk USB z systemem Windows 11 ARM64 za pomocą Rufusa. Dowiedz się, jak pobrać obraz ISO ARM64 i przygotować dysk USB dla komputerów ARM, w tym Copilot+.