Как SndVol может изменять уровень громкости данного аудио сеанса? - PullRequest
8 голосов
/ 21 мая 2011

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

SndVol отображает ползунок на панели «Устройство», который пользователь может использовать дляизменить основной уровень громкости аудиоустройства, а также ползунок для каждого аудио сеанса (на панели «Приложения»), который изменяет уровень громкости сеанса:

Screenshot of SndVol Volume Mixer

Если я перетаскиваю маркер ползунка для одного из аудио сеансов, то SndVol может изменить уровень громкости аудио сеанса.Как это происходит?

Я думал, что это возможно при использовании Core Audio API для Windows Vista, но я столкнулся с проблемой, заключающейся в том, что, хотя я могу выполнять итерации аудиосеансов устройства, используяIAudioSessionEnumerator, IAudioSessionEnumerator дает мне доступ только к IAudioSessionControl объектам, но мне нужен объект IAudioClient для получения ISimpleAudioVolume объект, который я могу использовать для установки уровня громкости аудио сеанса.Можно ли получить объект IAudioClient, связанный с объектом IAudioSessionControl?

Ответы [ 2 ]

11 голосов
/ 21 мая 2011

Если вы вызываете QueryInterface в интерфейсе IAudioSessionControl, вы часто можете получить доступ к ISimpleAudioVolume.

2 голосов
/ 21 мая 2011

Ларри Остерман , который работает на Microsoft и работает над новым аудио API, написал серию постов в блоге о новых аудио функциях Vista / Win7. Вот несколько ссылок, которые могут помочь:

Краткий обзор новых примеров мультимедийного / звукового пакета SDK для Windows 7 - пример показывает регулятор громкости для каждого приложения

Регулятор громкости в Vista - Описывает регулятор громкости для каждого приложения и другие новые аудио функции, которые были добавлены в Vista / Win7

В правой части страницы есть указатель; Вы можете посмотреть на помеченные элементы Audio для некоторых других статей, которые могут помочь.

...