重启MediaPlayer时出现噪音

时间:2013-10-28 07:03:31

标签: java android android-mediaplayer

我有一个MediaPlayer(.wav文件),有时需要快速连续重复。如果它已经播放,我重启它:

if (player.isPlaying()) {
    player.pause();
    player.seekTo(0);
}
player.start();

问题在于,当MediaPlayer在某个随机位置被中断时,最后会发出微小但明显的沙哑声。

我尝试过的一个解决方案是创建一个MediaPlayers数组,它加载相同的wav文件,循环它们,永不中断,并忽略当前的调用 项目已经在播放(很少发生,并且无论如何都没有注意到未接来电)。

MediaPlayer player = players.get(current);
if (!player.isPlaying())
    player.start();
if((++current) >= players.size())
    current = 0;

这消除了噪音,但解决方案有点难看。还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

噪声可能是在周期中间切割的波形。在停止和启动之前,可以通过调用setVolume来修复它。拥有多个MediaPlayers并不是一个糟糕的主意,但您可能需要查看SoundPool