Как автоматически отключить звук при отключении наушников в Windows 10

Windows 10 может хранить отдельные аудиопрофили для разных аудиоустройств. Для каждого подключаемого аудиоустройства вы можете установить разный уровень громкости, и когда устройство подключено, громкость будет регулироваться автоматически. Конечно, никто не оставляет аудиоустройство постоянно отключенным. Они будут увеличивать или уменьшать громкость, но обычно никто не отключает звук на аудиоустройстве.

Если вы используете пару наушников со своим настольным компьютером и вам часто приходится их отключать, вы можете использовать небольшой скрипт PowerShell, который автоматически отключает звук при отключении наушников.

Это то, что делают мобильные телефоны, то есть когда вы отключаете наушники, музыка останавливается автоматически. Логика заключается в том, что вы либо закончили слушать музыку, либо случайно сняли наушники, и вам нужен быстрый способ их выключить. Сценарий в основном был написан по тому же принципу  Пратик Сингхом из GEEKEEFY .

Как автоматически отключить звук при отключении наушников в Windows 10

Автоматическое отключение звука

Откройте Блокнот и вставьте следующее:

[cmdletbinding ()] Param () # Добавление определений для доступа к Audio API Add-Type -TypeDefinition @ 'using System.Runtime.InteropServices; [Guid ("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume {// f (), g (), ... - неиспользуемые слоты COM-методов. Определите их, если вам не все равно int f (); int g (); int h (); int я (); 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)] interface IMMDevice {int Activate (ref System.Guid id, int clsCtx, int activateParams, out IAudioEndpointVolume aev); } [Guid ("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType (ComInterfaceType.InterfaceIsIUnknown)] интерфейс IMMDeviceEnumerator {int f (); // Не используется int GetDefaultAudioEndpoint (int dataFlow, int role, out конечная точка IMMDevice); } [ComImport, Guid ("BCDE0395-E52F-467C-8E3D-C4579291692E")] класс MMDeviceEnumeratorComObject {} открытый класс Audio {static IAudioEndpointVolume Vol () {var enumerator = new MMDeviceEnumeratorComObject () as IMMDeviceNumeratorComObject () as IMMDeviceEnumeratorComObject (); 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)); return epv; } публичный статический объем с плавающей запятой {get {float v = -1; Marshal.ThrowExceptionForHR (Vol (). GetMasterVolumeLevelScalar (вне v)); return v;} set {Marshal.ThrowExceptionForHR (Vol (). SetMasterVolumeLevelScalar (value, System.Guid.Empty));}} public static bool Mute {get {bool mute; Marshal.ThrowExceptionForHR (Vol (). GetMute (отключение звука)); вернуть без звука; } установить {Marshal.ThrowExceptionForHR (Vol (). SetMute (значение, System.Guid.Empty)); }}} '@ -Verbose While ($ true) {# Очистить все события в текущем сеансе с момента его нахождения в бесконечном цикле, чтобы начать все заново, когда цикл начинается Get-Event | Remove-Event -ErrorAction SilentlyContinue # Регистрация события и ожидание запуска события Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event | Out-Null $ EventType = $ Event.sourceargs. newevent | `Sort-Object TIME_CREATED -Убывание | `Select-Object EventType -ExpandProperty EventType -First 1 # Условная логика для обработки, когда отключать / включать компьютер с помощью Audio API 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" Без звука [$ ((Get-Date) .tostring ())] "}}

Сохраните его с расширением файла PS1. Убедитесь, что вы выбрали «Все файлы» в раскрывающемся списке типов файлов. Дайте файлу имя, которое сразу расскажет вам, что он делает. Сохраните его в том месте, где вы вряд ли удалите его случайно, но также и там, где вы можете легко его найти, если вам нужно.

Запуск сценария

PowerShell не может просто автоматически запускать скрипт. Есть встроенная мера безопасности, которая предотвращает это, но есть способ обойти это. У нас есть подробная статья о том, как это сделать. Следуйте инструкциям по автоматическому запуску только что созданного сценария PowerShell и используйте запланированное задание для запуска сценария при каждой загрузке компьютера.

Кроме того, вы можете вручную запустить сценарий при загрузке системы. Пользуюсь им меньше 30 минут и не знаю, как раньше жила без него.

Оставить комментарий

Вышло обновление Windows 10 KB4567512, исправляющее проблемы с печатью в версиях 1909 и 1903.

Вышло обновление Windows 10 KB4567512, исправляющее проблемы с печатью в версиях 1909 и 1903.

Обновление KB4567512, устраняющее проблему с печатью в Windows 10 версий 1909 и 1903, теперь доступно для загрузки. Аналогичное исправление доступно и для более старых версий.

Вышло обновление Windows 10 KB4558130 с патчем микрокода Intel.

Вышло обновление Windows 10 KB4558130 с патчем микрокода Intel.

Обновление KB4558130 теперь доступно для Windows 10 и устраняет уязвимости в процессорах Intel. Вот все, что вам нужно знать.

Вышло обновление Windows 10 KB4560960 для версий 1909 и 1903.

Вышло обновление Windows 10 KB4560960 для версий 1909 и 1903.

Обновление KB4560960 уже распространяется для Windows 10 версий 1909 и 1903, а для версии 2004 доступно обновление KB4557957. Вот все, что вам нужно знать.

Сборка 26220.7070 (KB5070300) для Windows 11 25H2 улучшает работу в режиме восстановления и виджетов (для разработчиков).

Сборка 26220.7070 (KB5070300) для Windows 11 25H2 улучшает работу в режиме восстановления и виджетов (для разработчиков).

Вышло обновление KB5070300 (сборка 26220.7070) для Windows 11, включающее новые виджеты на панели мониторинга, изменения в режиме восстановления и функции Smart App Control.

Как исправить проблему с отсутствующей опцией регистрации расширенных обновлений безопасности в Windows 10 до окончания срока поддержки.

Как исправить проблему с отсутствующей опцией регистрации расширенных обновлений безопасности в Windows 10 до окончания срока поддержки.

Если параметр регистрации для получения расширенных обновлений безопасности Windows 10 не отображается, подтвердите соответствие требованиям и выполните следующие команды, чтобы принудительно включить его.

Расширение развертывания Windows 11 25H2 включает принудительное обновление для компьютеров с версией 23H2.

Расширение развертывания Windows 11 25H2 включает принудительное обновление для компьютеров с версией 23H2.

Компания Microsoft начинает принудительное обновление с Windows 11 23H2 до версии 25H2 через настройки Центра обновления Windows, поскольку срок поддержки этой операционной системы подходит к концу.

В сборках Windows 11 26200.5570 и 26120.3941 в каналах для разработчиков и бета-тестировщиков внедрены визуальные изменения.

В сборках Windows 11 26200.5570 и 26120.3941 в каналах для разработчиков и бета-тестировщиков внедрены визуальные изменения.

В каналах Dev и Beta появились сборки 26200.5570 (KB5055632) и 26120.3941 (KB5055634) для Windows 11, содержащие новые функции и исправления.

Как использовать Click to Do для выполнения действий с использованием ИИ для текста и изображений в Windows 11

Как использовать Click to Do для выполнения действий с использованием ИИ для текста и изображений в Windows 11

Чтобы использовать функцию «Нажми и сделай» в Windows 11, необходимо её включить, затем запустить с помощью сочетания клавиш Win + Q и выбрать изображение или текст для доступа к действиям.

Как откатить Windows 11 24H2 до версии 23H2

Как откатить Windows 11 24H2 до версии 23H2

Если после обновления до Windows 11 24H2 на вашем компьютере возникли проблемы, вы можете откатиться до версии 23H2, используя функцию восстановления или чистую установку. Вот как это сделать.

Коллекция рождественских обоев для Windows 11 (2025)

Коллекция рождественских обоев для Windows 11 (2025)

Придайте своему рабочему столу в Windows 11 или Windows 10 праздничный вид с помощью потрясающих рождественских обоев в разрешении 4K, а также простых шагов по их установке в качестве фона.