1600802026

Posted on 2018-12-11 22:59  baseA  阅读(226)  评论(0编辑  收藏  举报

项目成员

  韦家城 学号:1600802026 班级:161  博客:https://www.cnblogs.com/ln9969cc/

  邓乾尧 学号:1600802005 班级:161  博客:http://www.cnblogs.com/2575590018dqy/

  • 播放列表

  

  • 界面截图

  

  • 关键代码

  用获取ID和设置监听的方法,实现播放暂停上一首下一首功能,定义一个position定位和判断播放的歌曲是哪一首

//播放暂停按钮
playBtn = (Button)findViewById(R.id.playBtn);
playBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!mp.isPlaying()){
mp.start();//开始播放
}else{
mp.pause();//暂停播放
}
}
});
//上一曲按钮
lastBtn = (Button)findViewById(R.id.lastBtn);
lastBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
--position;
if(position<1)
position=3;
init(position);
mp.start();
}
});
//下一首按钮
nextBtn = (Button)findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
++position;
init(position);
mp.start();
}
});

  因为版本问题,我自己的Android studio上没找到android Device Monitor,查询后得知Android Studio 3.0开始android Device Monitor弃用,就只能用简单的方法实现几首歌曲的播放

public void init(int position)
{
if(mp != null){
mp.stop();
mp.release();
}
if((position%3)==1) {
mp = MediaPlayer.create(this, R.raw.music);
}else if ((position%3)==2){
mp = MediaPlayer.create(this, R.raw.music2);
}else if ((position%3)==0){
mp = MediaPlayer.create(this, R.raw.music3);
}
mp.setLooping(true);
mp.seekTo(0);
mp.setVolume(0.5f,0.5f);
totalTime = mp.getDuration();
}

   同样,列表在中歌曲的播放也只能通过这种方式来实现

public void playMedia(int position)
{
if(mp != null){
mp.stop();
mp.release();
}
if(position==0) {
mp = MediaPlayer.create(this, R.raw.music);
}else if (position==1){
mp = MediaPlayer.create(this, R.raw.music2);
}else if (position==2){
mp = MediaPlayer.create(this, R.raw.music3);
}
mp.setLooping(true);
mp.seekTo(0);
mp.setVolume(0.5f,0.5f);
totalTime = mp.getDuration();
mp.start();
}
    另外,设置的适配器比较简单而且取巧,这里便不描述,详情请见coding代码。