Android媒体播放器有条不紊地播放歌曲

时间:2012-03-12 12:13:18

标签: android

我是Android新手。在我的应用程序中,MediaPlayer按顺序播放歌曲组。歌曲存储在一个arraylist中,歌曲名称存储在另一个arraylist中..

for(i=0;i< songarray.sizeof();i++)
{
  mp=MediaPlayer.create(this,(Integer) songarray.get(i));

  sname.setText(songname.get(i));
  mp.start
}

问题是歌曲只播放一首然后打印一首歌名。

1 个答案:

答案 0 :(得分:2)

你应该设置一个听众到歌曲的结尾,然后开始下一个(BTW - 什么是sizeof()):

int index = 0;
sname.setText(songname.get(i));
mp = MediaPlayer.create(this,(Integer) songarray.get(i));
mp.start(); //as per @iturki comment
mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer player) {
        mp.release();
        if (i < (songarray.size() - 1)) {
            i++;
            mp = MediaPlayer.create(this,(Integer) songarray.get(i));
            sname.setText(songname.get(i));
            mp.setOnCompletionListener(this);
            mp.start();            
        }           
    }
});