在不中断播放音乐的情况下播放短音

时间:2014-09-24 07:47:36

标签: android android-mediaplayer

我使用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 格式转换了这个声音,音乐不再中断。

0 个答案:

没有答案