Пиша собствен API, за да изпълня някои от функциите на системната помощна програма SndVol. Бих искал част от този API да бъде възможността за задаване на нивото на звука на даден аудио сесия.
SndVol показва плъзгач в панела „Устройство“, който потребителят може да използва, за да промени основното ниво на звука на аудио устройството, както и плъзгач за всяка аудио сесия (в панела „Приложения“), който променя нивото на звука на сесията :
Ако плъзна манипулатора на плъзгача за една от аудио сесиите, тогава SndVol може да промени нивото на звука на аудио сесията. Как става това?
Мислех, че е възможно с помощта на Core Audio на Windows Vista API, но срещнах проблема, че въпреки че мога да повторя аудио сесии на устройство, използвайки IAudioSessionEnumerator
, IAudioSessionEnumerator
ми дава достъп само до IAudioSessionControl
обекти, но имам нужда от IAudioClient
обект за получаване на ISimpleAudioVolume
обект, който мога да използвам, за да задам нивото на звука на аудио сесията. Възможно ли е да получите IAudioClient
обект, свързан с IAudioSessionControl
обект?