我需要播放一个没有间隙的音频之间的削减,音频需要循环永远没有间隙。使用setNextMediaPlayer只合并两个没有间隙的音频曲目,然后自动停止播放音频,它永远不会循环。提前谢谢。

    mp1 = MediaPlayer.create(getApplicationContext(), R.raw.loop);
    mp2 = MediaPlayer.create(getApplicationContext(), R.raw.loop);

protected void play() {
    // TODO Auto-generated method stub

    mp1.start();
    mp1.setNextMediaPlayer(mp2);
    // mp2.setNextMediaPlayer(mp1);

}

最佳答案

几天前我试着帮一个男人。参阅this question
我不确定他是否能达到他想要的目标,但我相信你的问题是在第二个赛道结束后,MediaPlayer没有处于准备状态。您需要使用onCompletion侦听器通过调用stop()prepareAsync()将其返回到准备状态。如果它不需要处于准备状态(老实说我不确定),那么从seekTo(0)侦听器调用onCompletion会更快。
您肯定需要取消注释mp2.setNextMediaPlayer(mp1);行。

07-27 17:22