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