c – SndVol如何改变给定音频会话的音量?

我正在编写自己的API来执行SndVol系统实用程序的一些功能.我希望这个API的一部分能够设置给定的 audio session的音量级别.

SndVol在“设备”面板上显示一个滑块,用户可以使用该滑块更改音频设备的主音量级别以及每个音频会话的滑块(在“应用程序”面板上),用于更改会话的音量级别:

如果我拖动其中一个音频会话的滑块手柄,则SndVol可以更改音频会话的音量级别.它是如何做到的?

我认为可以使用Windows Vista的Core Audio API,但我遇到的问题是虽然我能够使用IAudioSessionEnumerator迭代设备的音频会话,但IAudioSessionEnumerator只允许我访问IAudioSessionControl对象,但我需要获取IAudioClient对象我可以用来设置音频会话音量级别的ISimpleAudioVolume对象.是否可以获取与IAudioSessionControl对象关联的IAudioClient对象?

解决方法

如果在IAudioSessionControl接口上调用QueryInterface,则通常可以访问ISimpleAudioVolume.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...