在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适的代码
public static final int ALL = 0;//全部循环
public static final int SINGLE = 1;//单曲循环
public static final int RANDOM = 2;//随机
// 一首歌播放完成后(这里设置播放模式)
public class Completed implements OnCompletionListener
{
@Override
public void onCompletion(MediaPlayer mp)
{
if(playMode == ALL)//全部循环
{
if (position == listMusic.size() - 1)//默认循环播放
{
position = 0;// 第一首
}
else
{
position++;
}
}
else if(playMode == SINGLE)//单曲循环
{
//position不需要更改
}
else if(playMode == RANDOM)//随机
{
position = (int)(Math.random()*listMusic.size());//随机播放
}
elseSet();//其他播放的处理
}
}
;
制作单曲循环时,最好不要像如上代码所设计,由于没有给出实际的position,程序可能跳出BUG,甚至崩溃,我所实现的单曲循环是监听用户的模式选择,当音乐播放完毕之后,重新启动MediaPlayer就可以了