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

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

Сборка 27858 для Windows 11 выпущена в Canary Channel.

Сборка 27858 для Windows 11 выпущена в Canary Channel.

В сборке 27858 для Windows 11 внесены изменения в панель задач, а также исправления для проводника файлов, графики, сети, звука и многого другого.

Microsoft продлевает поддержку приложений Office для Windows 10 до октября 2028 года.

Microsoft продлевает поддержку приложений Office для Windows 10 до октября 2028 года.

Компания Microsoft подтвердила, что пользователи Windows 10 смогут продолжать использовать приложение Microsoft 365 (Office) с обновлениями безопасности до 10 октября 2028 года.

Как включить или отключить функцию громкой связи Hey Copilot в Windows 11

Как включить или отключить функцию громкой связи Hey Copilot в Windows 11

Чтобы включить голосовую команду «Привет, Copilot», откройте «Параметры Copilot» и включите параметр «Слушать команду «Привет, Copilot»» в Windows 11.

Обновление Windows 10 Creators Update: 18 лучших скрытых функций

Обновление Windows 10 Creators Update: 18 лучших скрытых функций

Обновление Windows 10 Creators Update содержит множество новых улучшений и немало скрытых новых функций — вот 18 из них, лучшие из которых вы найдете.

Как продолжить с того места, где вы остановились (Chrome, Edge, Firefox)

Как продолжить с того места, где вы остановились (Chrome, Edge, Firefox)

Чтобы продолжить работу с теми же вкладками, на которых вы остановились в Chrome, Edge или Firefox, необходимо настроить параметры автозапуска, и вот как это сделать.

Как устранить проблемы с беспроводным подключением принтера в Windows [пошаговая инструкция]

Как устранить проблемы с беспроводным подключением принтера в Windows [пошаговая инструкция]

Устраните проблемы с беспроводным подключением принтера, найдя в сети принтер, который не печатает, выбрав правильный IP-адрес и выполнив настройку.

В каналах для разработчиков и бета-тестирования Windows 11 доступны сборки 26200.5581 и 26120.3950.

В каналах для разработчиков и бета-тестирования Windows 11 доступны сборки 26200.5581 и 26120.3950.

Сборки 26200.5581 (KB5055651) и 26120.3950 (KB5055653) для Windows 11 добавляют новые визуальные эффекты функции «Загрузить», новые параметры HDR, настройки панели задач и многое другое.

В сборке Windows 11 22635.4805 (KB5050105) улучшена функция Snap Layouts в бета-канале.

В сборке Windows 11 22635.4805 (KB5050105) улучшена функция Snap Layouts в бета-канале.

В бета-версию Windows 11 вышло обновление KB5050105 (сборка 22635.4805), включающее изменения для функций Snap, Input, Settings, а также исправления ошибок.

В сборке 27808 для Windows 11 добавлены изменения в диспетчере задач в канале Canary.

В сборке 27808 для Windows 11 добавлены изменения в диспетчере задач в канале Canary.

Сборка 27808 для Windows 11 распространяется в канале Canary и включает изменения в диспетчере задач, ряд исправлений и известные проблемы.

Обновление KB5079473 (сборка 26200.8037) для Windows 11 выйдет в марте 2026 года.

Обновление KB5079473 (сборка 26200.8037) для Windows 11 выйдет в марте 2026 года.

В обновление KB5079473 (сборка 26200.8037) для Windows 11 добавлена ​​проверка скорости работы панели задач, встроенная функция Sysmon, панорамирование и наклон камеры, а также исправлены ошибки в клавишах для версий 25H2 и 24H2.