我使用MediaPlayer
在我的应用中播放音乐。但是当我播放另一种声音时音乐会中断(声音持续时间约为1秒)。中断很短,只有几毫秒,但它让我感到不安。
我应该怎样做以避免这种中断?
更新
以下是我用来播放短音的代码:
private final Map<Integer,MediaPlayer> mediaPlayers = new HashMap<Integer,MediaPlayer>();
void playSound(int resId, boolean looping) {
MediaPlayer mediaPlayer = mediaPlayers.get(resId);
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayers.remove(resId);
}
try {
mediaPlayer = MediaPlayer.create(context, resId);
if (mediaPlayer == null){
throw new RuntimeException("Can't create MediaPlayer");
}
mediaPlayer.setLooping(looping);
mediaPlayer.setOnCompletionListener(this);
mediaPlayer.start();
} catch (IllegalStateException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
mediaPlayers.put(resId, mediaPlayer);
}
UPDATE2:
我解决了这个问题。问题是短声音是 mp3 格式,但我的应用程序中的所有其他声音都是 ogg 格式。所以我用 ogg 格式转换了这个声音,音乐不再中断。