我在流媒体模式下使用 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 上看到了这一点。我将不胜感激任何建议。