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

Leave a Comment

Как перезагрузить Windows 11: 5 лучших способов, которые вы можете попробовать

Как перезагрузить Windows 11: 5 лучших способов, которые вы можете попробовать

Хотите узнать простые способы перезапуска Windows 11? Посетите этот блог, чтобы узнать, как перезагрузить Windows 11, используя 5 лучших способов.

Как вводить пути к файлам или папкам с пробелами в командной строке в Windows 10

Как вводить пути к файлам или папкам с пробелами в командной строке в Windows 10

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

Как открыть BIOS в Windows 11: 3 лучших метода, которые вы можете попробовать

Как открыть BIOS в Windows 11: 3 лучших метода, которые вы можете попробовать

Хотите настроить BIOS, но не знаете, как получить к нему доступ? Узнайте, как открыть BIOS на ПК с Windows 11 и персонализировать настройки по своему усмотрению.

Как установить Microsoft Office Picture Manager в Windows 10

Как установить Microsoft Office Picture Manager в Windows 10

Узнайте, как установить и использовать Microsoft Office Picture Manager в Windows 10. Полезные советы и пошаговые инструкции.

Как создать собственную раскладку клавиатуры для Windows 10

Как создать собственную раскладку клавиатуры для Windows 10

Полное руководство по созданию пользовательской раскладки клавиатуры для Windows 10 с использованием Microsoft Keyboard Layout Creator.

Как установить драйверы мыши в Windows 10

Как установить драйверы мыши в Windows 10

Установка правильных драйверов мыши в Windows 10 для оптимального взаимодействия с пользователем.

Как открыть файлы .key в Windows 10

Как открыть файлы .key в Windows 10

Узнайте, как открыть файлы .key в Windows 10 с помощью различных методов, включая Google Презентации, iCloud и конвертацию в формат PPTX.

Как очистить папку SteamLibrary в Windows 10

Как очистить папку SteamLibrary в Windows 10

Компьютерные игры часто занимают много места на диске. Узнайте, как эффективно очистить папку SteamLibrary и освободить место на вашем компьютере.

Как установить Microsoft Mouse and Keyboard Center

Как установить Microsoft Mouse and Keyboard Center

Узнайте, как установить и использовать Microsoft Mouse and Keyboard Center для настройки ваших устройств. Получите максимум от клавиатур и мышей Microsoft.

Как включить панель предварительного просмотра в проводнике в Windows 10

Как включить панель предварительного просмотра в проводнике в Windows 10

Проводник Windows 10 позволяет предварительный просмотр различных типов файлов. Включите панель предварительного просмотра для удобства работы с файлами.