Xaudio2与开放量

XAudio2 vs. OpenAL volume

本文关键字:Xaudio2      更新时间:2023-10-16

我正在编写C 中的音频包装代码,以在Xaudio2和OpenAL上具有抽象的API(稍后再进行(。一切正常,我已经启动并运行了系统,提供了几乎相同的音频。

我似乎只有设置源量的问题。Xaudio2和OpenAL都有一种设置源语音卷级别的方法。

ixaudio2voice :: setVolume(卷(和alsourcef(源,al_gain,卷(;

根据文档,两个函数都采用卷参数在[0; 1]范围内以设置级别。

但是,似乎他们内部使用的曲线与不匹配。感觉就像是开放的,例如,将阀门设置为0.5

时,比xaudio2更安静。

就像其中一个一样,线性地解释卷,而另一个就像对数。这两个文档都没有说什么,只是说范围是[0; 1],什么也没说。

很难测量,这确实很难进行调试。有人做过这样的事情,还是有使用这些功能的经验?

谢谢。

laci

您应该查看xaudio2助手xaudio2decibelstoAmplituderatio,该decibelstoAmplituderatio从db

计算浮动卷值