Вопрос или проблема
Я использую Windows 10 64-bit уже много лет. На протяжении нескольких лет эта проблема меня преследует, и пришло время найти способ раз и навсегда от нее избавиться.
Проблема заключается в том, что некоторые приложения, такие как Netflix или Фильмы и ТВ, или некоторые вебсайты, берут “эксклюзивный контроль” над моим аудиовыходом. Тот факт, что приложение может это делать, вызывает невероятное разочарование. Я могу временно остановить это поведение, открыв панель управления звуком, зайдя в свойства устройства вывода (или ввода), выбрав вкладку «Дополнительно» и сняв галочку с «Разрешить приложениям брать эксклюзивный контроль над этим устройством».
Проблема в том, что эта галочка снова отмечается через, казалось бы, случайные промежутки времени. Я не знаю точно, когда это происходит или что вызывает это; возможно, это обновления Windows, возможно, обновления приложений из Магазина. Единственный способ, которым я могу обнаружить, что эксклюзивный контроль был вновь разрешен, это открыть приложение и увидеть, что весь звук для всего остального на моем компьютере внезапно не работает.
Мне нужен способ предотвратить сброс этой галочки.
Я решил снова вернуться к этому вопросу.
Эта галочка в свойствах аудиоустройств в разделе «Дополнительно» — единственный способ не позволять приложению брать эксклюзивный контроль над аудиоустройством. Нет поддерживаемого стандартного способа предотвратить изменение значения этой галочки приложениями или Windows, что может произойти во время обновлений.
Однако я нашел местоположение этой галочки в реестре:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{DEVICE GUID}\Properties\{b3f8fa53-0004-438e-9003-51a46e139bfc},3
Эта настройка реестра имеет тип REG_DWORD и может отсутствовать в конфигурации по умолчанию. Снятие галочки добавит или обновит значение на 0, а установка галочки (разрешение приложений брать эксклюзивный контроль) установит его на 1. Это, по-видимому, работает в Windows 10 и 11.
Очень неудобное обходное решение может заключаться в написании скрипта, который перебирает все аудиоустройства и устанавливает эту настройку в 0. Его можно запускать по запросу или запланировать в Планировщике задач.
Также возможно изменить настройки безопасности для этой опции и отозвать разрешения на изменение для SYSTEM, однако это может поломать намного больше, чем только звуковые настройки.
Я не пробовал ни один из этих вариантов, так как, по крайней мере, за последние пару лет, после отключения эксклюзивного доступа он оставался отключенным.
Когда я писал этот вопрос, эта настройка продолжала включаться, и основной причиной, скорее всего, был сторонний драйвер.
Если кто-то столкнется с этой проблемой, вы можете попробовать определить виновника, используя Process Monitor от Sysinternals. Просто убедитесь, что вы правильно настроили фильтры, чтобы он только фиксировал изменения этой настройки реестра, так как вам придется оставить его работать долгое время, чтобы зафиксировать изменения, когда они произойдут.
.
Ответ или решение
Теория
Если вы сталкиваетесь с проблемой, когда приложения берут на себя исключительный контроль аудиоустройства в Windows 10, существует несколько методов, которые могут помочь вам предотвратить это в будущем. По умолчанию в Windows имеется опция, которая позволяет приложениям получать исключительный контроль над аудиоустройством. Это может вызвать неудобства, такие как блокировка других звуковых приложений. Даже если вы вручную отключаете эту функцию через пользовательский интерфейс, кажется, она иногда восстанавливается автоматическими обновлениями или настройками приложений. Таким образом, необходимо найти способ лишить системы возможности изменять это поведение.
Пример
Пример: вы открываете Netflix или Windows Media Player, и внезапно другие звуки (например, из браузера или других приложений) не воспроизводятся. Это типичная ситуация, когда приложение взяло исключительный контроль над аудиоустройством, временно переведя все другие приложения в "бесшумный" режим.
Применение
1. Изменение реестра
Учетная запись администратора может изменить реестр Windows, чтобы запретить изменения этой установки системой.
- Откройте редактор реестра через команду "regedit" в меню "Пуск".
- Перейдите к пути:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{DEVICE GUID}\Properties\{b3f8fa53-0004-438e-9003-51a46e139bfc},3
- Где
{DEVICE GUID}
— уникальный идентификатор вашего аудиоустройства. Его можно определить, просмотрев свойства устройства в "Управлении устройствами".
- Где
- Если параметр уже существует, установите его значение на 0, что соответствует снятию флажка "Разрешить приложениям брать исключительный контроль".
- Если параметр не существует, создайте
REG_DWORD
с настройкой 0.
2. Написание скрипта для регулярной проверки и изменения настроек
Написание скрипта, который периодически будет проверять и сбрасывать это значение, является полезным рядом случаев:
$path = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render"
$propertiesKey = "{b3f8fa53-0004-438e-9003-51a46e139bfc},3"
Get-ChildItem $path | ForEach-Object {
$guidPath = Join-Path -Path $_.PSPath -ChildPath "Properties"
Set-ItemProperty -Path $guidPath -Name $propertiesKey -Value 0
}
Вы можете запланировать этот скрипт для запуска каждый раз при входе в систему с помощью Task Scheduler
или в качестве службы Windows, чтобы он выполнялся регулярно.
3. Использование Process Monitor для выделения виновника
Если у вас возникают трудности с определением приложения или процесса, который изменяет это значение, можно использовать утилиту Process Monitor от Sysinternals:
- Настройте фильтр, чтобы отслеживать только изменения этого конкретного ключа реестра.
- Оставьте утилиту работающей на фоне в течение предполагаемого периода, чтобы уловить момент, когда происходит изменение.
- После обнаружения приложения или процесса, вызывающего изменения, удалите или перенастройте его.
4. Изменение разрешений безопасности
Можно попробовать изменить разрешения на ключ реестра, чтобы система или приложения не могли изменять значения. Однако данный метод может привести к непредвиденным последствиям:
- Откройте "Редактор реестра", найдите тот же ключ, как указано выше.
- Щелкните правой кнопкой мыши на ключе и выберите "Разрешения".
- Найдите группу
SYSTEM
и удалите ее разрешения на изменение значений для этого ключа.
Внимание: перед любыми изменениями нужно создать резервную копию реестра, так как неосторожное редактирование может повлиять на функциональность системы или вызвать сбой.
Подводя итог, во избежание повторного возникновения проблемы рекомендуется выполнить ряд комплексных шагов для вручную управляемого поддержания нужной настройки. Эти меры помогут вам создать более стабильную аудиосреду на вашем компьютере.