XAudio2学习之调节音量

Posted GreenArrowMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XAudio2学习之调节音量相关的知识,希望对你有一定的参考价值。

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,用于调节音量大小。1.0表示无衰减和无增益,0表示静音。如果为负值的话,可以用来逆转音频的相位。

设置声道音量可以使用IXAudio2MasteringV

以上是关于XAudio2学习之调节音量的主要内容,如果未能解决你的问题,请参考以下文章

XAudio2学习之IXAudio2VoiceCallback回调

XAudio2音量和音调控制

XAudio2播放PCM

Mingw,XAudio2和GetProcAddress失败

XAudio2 是不是有最大声音数?

在 xaudio2 中集成 3D 音频