我按照以下示例实现了一个OpenSLES缓冲队列:https://github.com/googlesamples/android-ndk/blob/master/native-audio/app/src/main/cpp/native-audio-jni.c
然而,当我将我的声音入队并且(隐含地)播放时,我可以听到声音开始时的小故障:
(*bqPlayerBufferQueue)->Enqueue(bqPlayerBufferQueue, nextBuffer, nextSize);
(文件)样本中不存在此故障。
如果我将样本排成两次,我可以听到两次这样的故障。
使用Audacity将样品编码为44kHz的单声道.wav
答案 0 :(得分:2)
实际上,.wav格式并不意味着原始,因此文件以标题开头。这就是在开始时产生故障的原因。
使用Audacity,导出为"其他未压缩格式" > " RAW(无标题)","签名16位PCM"解决了这个问题。