Используя WASAPI, я мог контролировать громкость системы.
Интересно, я могу контролировать уровень громкости конкретного приложения программно. (конечно, это только после windows7) возможно ли это?
Вы можете контролировать громкость приложения (сеанса), как это делает стандартный Volume Mixer. Читайте об этом в Регуляторы громкости сеанса где это объясняется довольно подробно:
Клиенты WASAPI могут индивидуально контролировать уровень громкости каждого аудио сеанса.
[…]Чтобы поддержать это поведение, WASAPI реализует ISimpleAudioVolume
интерфейс. Когда пользователь перемещает ползунок приложения, приложение
вызывает метод ISimpleAudioVolume :: SetMasterVolume для настройки
уровень громкости сеанса соответственно. Sndvol отслеживает изменения громкости
через этот метод и отражает изменения в ползунках громкости
что он отображает.
Чтобы обнаружить запущенные сеансы, вы можете использовать IAudioSessionEnumerator
интерфейс. Взгляните на этот фрагмент кода / приложение, реализующее обнаружение: AudioSessionVolumeNotification.
Других решений пока нет …