我正在编写C 中的音频包装代码,以在Xaudio2和OpenAL上具有抽象的API(稍后再进行(。一切正常,我已经启动并运行了系统,提供了几乎相同的音频。
我似乎只有设置源量的问题。Xaudio2和OpenAL都有一种设置源语音卷级别的方法。
ixaudio2voice :: setVolume(卷(和alsourcef(源,al_gain,卷(;
根据文档,两个函数都采用卷参数在[0; 1]范围内以设置级别。
但是,似乎他们内部使用的曲线与不匹配。感觉就像是开放的,例如,将阀门设置为0.5
时,比xaudio2更安静。就像其中一个一样,线性地解释卷,而另一个就像对数。这两个文档都没有说什么,只是说范围是[0; 1],什么也没说。
。很难测量,这确实很难进行调试。有人做过这样的事情,还是有使用这些功能的经验?
谢谢。
laci
您应该查看xaudio2助手xaudio2decibelstoAmplituderatio,该decibelstoAmplituderatio从db