我试图将原始文件(无标题)转换为wav
它在ADPCM 16中的速率为8000
我试过三个控制台命令
sox -e ima-adpcm -r 8000 input.raw output.wav
sox -e ima-adpcm -r 8000 -b 16 input.raw output.wav
Run Code Online (Sandbox Code Playgroud)
这些触发相同的错误:
sox FAIL formats: bad input format for file `input.raw': data encoding or sample size was not specified
Run Code Online (Sandbox Code Playgroud)
最后的尝试
sox -t raw -t wav -e ima-adpcm -r 8000 -b 16 input.raw output.wav
Run Code Online (Sandbox Code Playgroud)
这会触发另一个错误
sox FAIL formats: can't open input file `input.raw': WAVE: RIFF header not found
Run Code Online (Sandbox Code Playgroud)
你知道为什么我会收到这些错误吗?
谢谢
编辑
前48个字节FYI的十六进制转储
C0 0C 00 03 00 00 37 C0 34 0C …Run Code Online (Sandbox Code Playgroud) 因此,我正在构建一个线程 IMA ADPCM 解码器,将音频数据流式传输到 OpenAL (请参阅下面的简短描述),但我遇到了一些麻烦。
我的问题之一是有时我对 alBufferData 的调用:
alBufferData(*bufferID, format, pcmData, sizeInBytes, bitRate);
AL_INVALID_VALUE即使在检查参数时也会返回,例如,如下所示:
bufferID='109770616', format='AL_FORMAT_STEREO16', dataPtr='109754188', sizeInBytes='8164'
有任何线索吗?发生这种情况时,实际播放的声音会有些卡顿,并且错误通常会连续发生约 10 次(在同一声音上)。当我重复启动相同的声音时,通常也会发生这种情况(例如,用轻机枪进行短时间连发射击时......;))
流媒体解码器模块的快速简化浏览
声音的播放方式:
解码/流媒体循环