【问题标题】:Sound glitch on Android OpenSLES buffered queueAndroid OpenSLES 缓冲队列上的声音故障
【发布时间】:2017-02-09 22:03:04
【问题描述】:

我已经按照此处的示例实现了一个 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

【问题讨论】:

    标签: android-ndk opensl


    【解决方案1】:

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

    使用 Audacity,导出为“其他未压缩格式”>“RAW (header-less)”、“Signed 16-bit PCM”解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 2018-07-22
      相关资源
      最近更新 更多