OpenAL-Soft无效枚举错误AL_FORMAT_STEREO_FLOAT32

时间:2016-10-30 09:38:28

标签: c++ audio openal

我试图播放每个样本格式为32位的wav文件。当我尝试生成一个OpenAL数据缓冲区并将其作为格式类型的参数AL_FORMAT_STEREO_FLOAT32时,我得到一个OpenAL错误代码40962,我相信这意味着无效的枚举。

为什么会这样?

以下是我在OpenAL中生成缓冲区的方法。

alBufferData(buffer, AL_FORMAT_STEREO_FLOAT32, fWavDataIn, wavHeader.subChunk2Size, wavHeader.sampleRate);

每个样本8位和16位与AL_FORMAT_STEREO16和AL_FORMAT_STEREO8一起正常工作。但是AL_FORMAT_STEREO_FLOAT32不起作用。为什么呢?

1 个答案:

答案 0 :(得分:1)

AL_FORMAT_STEREO_FLOAT32不是OpenAL的原生功能。在使用浮点数之前,你应该在alGetString(AL_EXTENSIONS)中检查“AL EXT Float32”。