Приглушите звук других приложений в WindowsC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Приглушите звук других приложений в Windows

Сообщение Гость »


все.

В настоящее время я пытаюсь активировать автоматическое приглушение звука Windows по умолчанию: mmsys.cpl -> «Вкладка «Связь»» внутри моего настольного приложения C++, чтобы я мог приглушать только остальной звук. из приложений, но не из моего, чтобы любой важный звук был слышен и не перекрывался фоном.

Проблема в том, что я не только отключаю звук остальных приложений (Spotify, звука браузера, например YouTube), но и звука своего приложения.

Я извлек функцию приглушения звука из этого примера Microsoft, который можно скачать здесь.

Самый очевидный способ заметить, что звук текущего приложения также приглушен, — это установить для параметра приглушения звука в настройках звука Windows значение «Отключить все остальные звуки», как показано здесь.

Насколько мне известно, приведенный выше пример приглушения звука имитирует сеанс/действия общения – чат WASAPI. Я предполагаю, что это причина того, что мой звук также приглушен, поскольку, несмотря на то, что мое приложение открывает поток связи, этот пример коммуникационного действия из примера Microsoft, вероятно, переопределяет звук моего приложения с точки зрения приоритета. Это всего лишь предположение/гипотеза. Вероятно, в этой части кода примера следует что-то изменить.

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

Существует два API, в которых напрямую упоминается приглушение звука: IAudioSessionControl2::SetDuckingPreference IAudioClientDuckingControl::SetDuckingOptionsForCurrentStream

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»