Android: 同步两个 mediaPlayer(一个接一个播放)- 消除间隙

Android: sync two mediaPlayers (play one after another) - remove gap

我在我的应用程序中使用了两个媒体播放器。我想播放第一首歌曲 (mp1),然后播放第二首歌曲 (mp2)。但是这些歌曲之间有一点gap/silence。有可能以某种方式删除吗?

我在 OnCreate() 方法中创建了 MediaPlayer(mp1 和 mp2):

    mp1 = new MediaPlayer();
    mp1.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mp1.setOnCompletionListener(mySongCompletionListener1);

    mp2 = new MediaPlayer();
    mp2.setAudioStreamType(AudioManager.STREAM_MUSIC);

    mp1.setDataSource("/storage/emulated/0/IAMDJ/SAMPLES/Free Future Kits/Drop/WA FFHK Drop1.ogg");
    mp1.prepare();

    mp2.setDataSource("/storage/emulated/0/IAMDJ/SAMPLES/Free Future Kits/Verse/WA FFHK Verse1.ogg");
    mp2.prepare();

并且:

private OnCompletionListener mySongCompletionListener1 = new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        mp2.start(); //first song finished, start second...
    }
};

注意:我不想使用 SoundPool,因为它没有 seekTo()。

是否可以取消静音?

使用 setNextMediaPlayer(正如 Michael 所建议的那样)是正确且好的解决方案。