Я пишу свой собственный API для выполнения некоторых функций системной утилиты SndVol.Я хотел бы, чтобы частью этого API была возможность установки уровня громкости данного аудио сеанса .
SndVol отображает ползунок на панели «Устройство», который пользователь может использовать дляизменить основной уровень громкости аудиоустройства, а также ползунок для каждого аудио сеанса (на панели «Приложения»), который изменяет уровень громкости сеанса:
Если я перетаскиваю маркер ползунка для одного из аудио сеансов, то SndVol может изменить уровень громкости аудио сеанса.Как это происходит?
Я думал, что это возможно при использовании Core Audio API для Windows Vista, но я столкнулся с проблемой, заключающейся в том, что, хотя я могу выполнять итерации аудиосеансов устройства, используяIAudioSessionEnumerator
, IAudioSessionEnumerator
дает мне доступ только к IAudioSessionControl
объектам, но мне нужен объект IAudioClient
для получения ISimpleAudioVolume
объект, который я могу использовать для установки уровня громкости аудио сеанса.Можно ли получить объект IAudioClient
, связанный с объектом IAudioSessionControl
?