AudioTrack flush()导致静态

PEZ*_*PEZ 6 android audiotrack

我正在使用AudioTrack实例播放音乐.当用户在歌曲中改变歌曲或寻找时我想在播放新数据之前刷新缓冲区.stop()文档似乎指导我做类似的事情:

audioTrack.pause();
audioTrack.flush();
audioTrack.play(); 
audioTrack.write(newData, ...);
Run Code Online (Sandbox Code Playgroud)

但是,这通常会产生轻微的静电.我尝试了一些解决方法.在我的测试设备上工作的一个(如摆脱静态)是flush()之后的Thread.sleep(10,0).但它感觉非常hackish和任意,如果它不能在其他设备上工作怎么办?此外,我不想阻止纳米片超过必要的时间.

解决这个问题的正确方法是什么?