Android大作业

1.项目成员

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

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

2.apk链接:https://git.dev.tencent.com/YDMY/1600802005.git

3.coding代码链接:https://git.dev.tencent.com/YDMY/1600802005.git

4.团队项目介绍

 4.1团队项目截图

 

 4.2主要功能实现

 (1)音乐播放暂停,上一首下一首切换

 (2)三种播放方式,顺序,随机,单曲

 (3)列表播放音乐

5.关键代码

 播放暂停上一首下一首

//播放暂停
playBtn = (Button)findViewById(R.id.playBtn);
playBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!mp.isPlaying()){
init(position);
mp.start();
playBtn.setBackgroundResource(R.drawable.pause);
mHandler.postDelayed(r,1000);
}else{
mp.pause();//暂停播放
mHandler.removeCallbacks(r);
playBtn.setBackgroundResource(R.drawable.play);
}
}
});
//上一首
lastBtn = (Button)findViewById(R.id.lastBtn);
lastBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
position--;
if(position<0)
position=2;
init(position);
mp.start();
playBtn.setBackgroundResource(R.drawable.pause);
mHandler.postDelayed(r,1000);
}
});
//下一首
nextBtn = (Button)findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
position++;
init(position);
mp.start();
playBtn.setBackgroundResource(R.drawable.pause);
mHandler.postDelayed(r,1000);
}
});

 实现三种播放方式以及自动切换下一首的定时器

Runnable r=new Runnable() {
@Override
public void run() {
if(!mp.isPlaying()&&((stylePosition%3)==0)){
position++;
init(position);
mp.start();
}else if(!mp.isPlaying()&&((stylePosition%3)==1)) {
position=(int)Math.random()%3;
init(position);
mp.start();
}else if(!mp.isPlaying()&&((stylePosition%3)==2)){
init(position);
mp.start();
}
mHandler.postDelayed(this,1000);
}
};

 实现从列表到播放器界面的定时器,用来实现从列表选歌播放时传递到播放器播放新歌

Runnable r=new Runnable() {
@Override
public void run() {
if(!mp.isPlaying()&&((stylePosition%3)==0)){
position++;
init(position);
mp.start();
}else if(!mp.isPlaying()&&((stylePosition%3)==1)) {
position=(int)Math.random()%3;
init(position);
mp.start();
}else if(!mp.isPlaying()&&((stylePosition%3)==2)){
init(position);
mp.start();
}
mHandler.postDelayed(this,1000);
}
};

6.

7.问题以及解决方案

 7.1 已解决问题:

  (1)自动切歌功能,能在歌曲播放结束后播放下一首歌曲

  (2)播放列表选歌播放时播放器播放歌曲的问题

  (3)连续切歌导致闪退,原因是ondestroy()操作

 7.2 未解决问题

  (1)依然没有能够解决无法读取sd卡的问题

  (2)没有实现实时播放功能,界面也不够完善,是通过图片东拼西凑才做出来的

8.团队分工(因为我们两人是通过在一台电脑上做的这个播放器,一起讨论并一起想办法解决,所以我觉得并没有谁比谁做的多的)

姓名 工作比例 分数(10分)
邓乾尧 50% 5
韦家城 50% 5

猜你喜欢

转载自www.cnblogs.com/ln9969cc/p/10204917.html