我在流媒体模式下使用AudioTrack。停止播放一小段wav文件后,大约有5-10次中的1次,听到咔嗒声。这让我发疯,因为我无法持续复制它。在调用AudioTrack.release()之前,我尝试了对AudioTrack.flush(),AudioTrack.pause()和AudioTrack.stop()的各种调用组合。我也尝试调用AudioTrack.setStereoVolume()并传入AudioTrack.getMinVolume()的结果。没事。

一些观察:

  • 似乎只有当我播放wav文件的一小段时才会发生。播放3秒钟以上的音频时,无法重现。
  • 有时,当我写入音频数据的结尾时,AudioTrack.write()返回-22。我在Javadoc中没有看到-22的规格。另外,这种情况并不总是与点击一致。
  • 即使我重播wav文件的同一部分,也无法始终如一地重现单击。
  • 单击声音可以从左右扬声器发出,但不能两者都发出。

  • 我在运行Android 4.0.3的Acer Iconia A500上看到了这一点。我将不胜感激任何建议。

    最佳答案

    流行可能是因为歌曲以很高的样本结束,然后突然变为0。这会引起“流行”噪音。尝试在0.01秒内使歌曲逐渐消失。

    从高采样到零音量的声音听起来像是:https://soundcloud.com/hertzdevil/dirac

    关于android - 停止AudioTrack播放时间歇性单击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15652167/

    10-11 01:48