我正在尝试播放每个样本格式具有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不起作用。为什么?

最佳答案

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

关于c++ - OpenAL-Soft无效的枚举错误AL_FORMAT_STEREO_FLOAT32,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40327722/

10-15 01:08