0

我在流媒体模式下使用 AudioTrack。在我停止播放一小段 wav 文件后,大约有 5-10 次会听到咔嗒声。这让我发疯,因为我无法始终如一地重现它。在调用 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 上看到了这一点。我将不胜感激任何建议。

4

1 回答 1

1

流行可能是因为歌曲以非常高的样本结束,然后突然变为 0。这会导致“流行”噪音。尝试在 0.01 秒的时间内淡出歌曲。

从高样本到 0 音量的流行听起来像这样:https ://soundcloud.com/hertzdevil/dirac

于 2013-03-27T04:57:52.813 回答