如何按顺序播放声音?

问题描述:

我需要按照MediaPlayer的顺序播放声音文件顺序。如果我使用setOnCompletionListener,则代码会变得如此长:如何按顺序播放声音?

one.start(); 
one.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
     two.start(); 
     two.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
      public void onCompletion(MediaPlayer mp) { 
      two.start(); 
      ...three...four... 
     } 
    }); 
    } 
}); 

它有更实用的方法吗?

+0

当然,制作一个两个三等的阵列(或阵列列表,如果你不知道长度)等 – DreadHeadedDeveloper 2014-10-28 15:12:02

+0

什么是一个两个三? – DreadHeadedDeveloper 2014-10-28 15:12:23

+0

我从@Jibran汗学到了“setDataSource(arrayList)” 谢谢 – 2014-10-28 15:18:09

只能将播放器的来源更改为下一个媒体。

one.start(); 
one.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     public void onCompletion(MediaPlayer mp) { 
      one.setDataSource(loopthroughSources); //may be an array or list of files path 
      one.start(); 
     } 
    }); 
    } 
}); 
+0

这是我一直在寻找的东西。谢谢! – 2014-10-28 15:16:15

+0

快乐编码:) – 2014-10-28 15:30:25