在音乐播放器中,播放模式一般放在音乐播放完毕后自动识别,如下给出逻辑代码,可根据需要添加合适的代码
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就可以了。