Android OpenSLES缓冲队列上的声音故障

时间:2017-02-08 17:21:15

标签: android-ndk opensl

我按照以下示例实现了一个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

1 个答案:

答案 0 :(得分:2)

实际上,.wav格式并不意味着原始,因此文件以标题开头。这就是在开始时产生故障的原因。

使用Audacity,导出为"其他未压缩格式" > " RAW(无标题)","签名16位PCM"解决了这个问题。