欢迎关注公众号可以查看更多完整文章
XAudio2音量调节分为全局和声道调节以及连接音量调节。所谓全局就是说设置了音量后会影响整个音频流的声音大小;声道调节就是说只调节某一个声道的音量大小;连接音量设置是说设置voice与其输出voice之间的声道映射音量。举个例子来说明:
IXAudio2SourceVoice->IXAudio2SubmixVoice->IXAudio2MasteringVoice
由三个voice组成的音频图。IXAudio2SourceVoice为2声道,IXAudio2SubmixVoice和IXAudio2MasteringVoice为5.1声道。
所有Voice的所有声道的音量默认都是为1.0。
音频数据经SourceVoice流向SubmixVoice,最终流向MasteringVoice,期间进行采样率和通道数转换。
设置全局音量可以使用IXAudio2SourceVoice::SetVolume和IXAudio2SubmixVoice::SetVolume以及IXAudio2MasteringVoice::SetVolume来设置,任一设置以后都会影响整个音频流的整体音量大小。SetVolume接口都是继承自IXAudio2Voice,参数为浮点型。取值一般为0~1.0,