Android 第三次作业

1.实现的功能

  1.实现音乐播放器的前一首,下一首,暂停,播放基本功能

  2.从sd卡中搜索所有音乐文件,显示音乐名称,时长

  3.使用了进度条显示实时播放的时间。

2.对音乐播放器界面截图

 

 

 

3.将其中的关键代码放置自己的博客,比如:播放功能的代码

1.上一首与下一首


previous.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {
changeMusic(--currentposition);
}
}

next.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
changeMusic(++currentposition);
}
}

2.暂停与继续播放

 暂停播放

public void pause() {
if (player != null && player.isPlaying()){
player.pause();
}
}

public void stop() {
if (player != null && player.isPlaying()) {
player.stop();
player.reset();
}
}

继续播放

public void goPlay(){
int position = getCurrentProgress();
player.seekTo(position);
try {
player.prepare();
} catch (Exception e) {
e.printStackTrace();
}
player.start();
}

3.歌曲切分

  

if (song.song.contains("-")) {
String[] str = song.song.split("-");
str[0]=str[0].trim();
str[1]=str[1].trim();
song.singer = str[0];
song.song = str[1];
}
list.add(song);

4.进度条的滚动

class MusicThread implements Runnable{
@Override
public void run() {
while (!isStop&&mediaPlayer!=null){
handler.sendEmptyMessage(mediaPlayer.getCurrentPosition());
try{
Thread.sleep(150);
} catch (InterruptedException e) {
e.printStackTrace();
}
}}
}
private Handler handler = new Handler(){
public void handleMessage(Message msg) {
super.handleMessage(msg);
seekBar.setProgress(msg.what);
currentTV.setText(formatTime(msg.what));
}
};



5.设置歌曲时间的格式

private String parseTime(int oldTime) {
SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");// 时间格式
String newTime = sdf.format(new Date(oldTime));
return newTime;
}

 

4.代码链接 :https://coding.net/u/xushoubao/p/music/git/tree/master2

5.apk的下载地址 :https://pan.baidu.com/s/17XPdW-HatF_FwOxY8mB4ig

posted on 2018-12-11 19:33  许守宝  阅读(172)  评论(0编辑  收藏  举报

导航