小编hap*_*per的帖子

OpenAL:alBufferData 返回 AL_INVALID_VALUE,即使输入变量 *看起来* 正常?

因此,我正在构建一个线程 IMA ADPCM 解码器,将音频数据流式传输到 OpenAL (请参阅下面的简短描述),但我遇到了一些麻烦。

我的问题之一是有时我对 alBufferData 的调用:

alBufferData(*bufferID, format, pcmData, sizeInBytes, bitRate);

AL_INVALID_VALUE即使在检查参数时也会返回,例如,如下所示:

bufferID='109770616', format='AL_FORMAT_STEREO16', dataPtr='109754188', sizeInBytes='8164'

有任何线索吗?发生这种情况时,实际播放的声音会有些卡顿,并且错误通常会连续发生约 10 次(在同一声音上)。当我重复启动相同的声音时,通常也会发生这种情况(例如,用轻机枪进行短时间连发射击时......;))

流媒体解码器模块的快速简化浏览

声音的播放方式:

  1. 触发声音播放。
  2. 一个 bufferSize 大小的音频被解码,其余的则排队等待进一步解码。
  3. OpenAL 被触发开始播放声音。

解码/流媒体循环

  1. 对于每个排队等待解码的声音,解码 bufferSize 大小的音频。
  2. 解码后的音频将添加到具有适当 bufferID 的 alBuffer(请参阅上面的调用)中。

audio openal audio-streaming adpcm

5
推荐指数
1
解决办法
5408
查看次数

标签 统计

adpcm ×1

audio ×1

audio-streaming ×1

openal ×1