Как автоматически отключить звук при отключении наушников в 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 минут и не знаю, как раньше жила без него.

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

Как создать загрузочный USB-носитель для установки Windows 11 25H2

Как создать загрузочный USB-носитель для установки Windows 11 25H2

Для создания загрузочного USB-накопителя с Windows 11 25H2 можно использовать Rufus, Ventoy, командную строку и Media Creation, вот как это сделать.

Сборка 26220.7653 (KB5074157) для Windows 11 добавляет новые настройки темного режима (Dev, Beta).

Сборка 26220.7653 (KB5074157) для Windows 11 добавляет новые настройки темного режима (Dev, Beta).

Обновление KB5074157 (сборка 26220.7653) для Windows 11 улучшает темный режим, добавляет поддержку обоев WebP и исправляет проблемы с панелью задач, кнопкой «Пуск», Bluetooth и другими функциями.

Обновление Windows 11 KB5074109 оказалось катастрофой – Список основных проблем

Обновление Windows 11 KB5074109 оказалось катастрофой – Список основных проблем

Обновление KB5074109, выпущенное в январе 2026 года для Windows 11, вызвало сбои, проблемы с загрузкой, неполадки в Outlook и ошибки при удалении, вынудив пользователей удалить его.

Как предотвратить отображение переписок ChatGPT в результатах поиска Google.

Как предотвратить отображение переписок ChatGPT в результатах поиска Google.

Предотвратите появление ваших переписок в ChatGPT в результатах поиска Google, просмотрев и удалив общедоступные ссылки ChatGPT. Вот как это сделать.

Как установить подсистему Windows для Android (WSA) на Windows 11

Как установить подсистему Windows для Android (WSA) на Windows 11

Вы можете установить подсистему Windows для Android (WSA), чтобы запускать приложения Android на Windows 11, используя Microsoft Store или PowerShell. Вот как это сделать.

Как запретить ChatGPT использовать ваши личные данные для обучения ИИ

Как запретить ChatGPT использовать ваши личные данные для обучения ИИ

По умолчанию OpenAI собирает содержимое ваших разговоров в ChatGPT для обучения ИИ, и вот как отключить эту функцию для повышения конфиденциальности.

Сборка 26120.4733 (KB5062651) для Windows 11 24H2 с изменениями (бета-версия)

Сборка 26120.4733 (KB5062651) для Windows 11 24H2 с изменениями (бета-версия)

Сборка 26120.4733 (KB5062651) для Windows 11 включает в себя новое описание изображений с помощью ИИ, переработанный дизайн разрешений приложений и защиту администратора в бета-канале.

Сборка 26200.5702 (KB5062653) для Windows 11 25H2 добавляет новые функции (для разработчиков)

Сборка 26200.5702 (KB5062653) для Windows 11 25H2 добавляет новые функции (для разработчиков)

Сборка 26200.5702 (KB5062653) для Windows 11 25H2 включает в себя описания изображений с помощью ИИ, новые функции безопасности администратора, переработанные диалоги разрешений и многое другое.

Как установить приложение с помощью WinGet на Windows 10

Как установить приложение с помощью WinGet на Windows 10

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

Как включить (или отключить) клавишу Print Screen в инструменте «Ножницы» в Windows 11

Как включить (или отключить) клавишу Print Screen в инструменте «Ножницы» в Windows 11

Включить или отключить клавишу Print Screen для инструмента «Ножницы» в Windows 11 и восстановить классическое сочетание клавиш или назначить его другому приложению.