1600802040
介绍:
1.播放,暂停音乐,以及上一首下一首
2.显示歌曲进度条
程序截图:
1、显示界面遍历SD卡,搜寻大与800kb的歌曲后显示
2、歌曲播放页面:进度条随歌曲进度刷新,进度条下方显示目前播放的歌曲
关键代码分析:
共有4个java文件,两个xml文件
my.java主要实现主页面歌曲暂停、播放、上一首、下一首、进度条移动等工作
music.java主要实现计算时间还有歌曲显示大小限制工作
musicinfo.java主要实现歌曲相关信息,如名字歌手的显示
musicplay.java主要实现播放歌曲切换歌曲、以及歌曲播放当前位置确定等工作
activity_main.xml实现主界面
music.xml实现歌曲搜索到后歌曲显示条的界面
//播放音乐与切换音乐
private void palyer() {
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(url);
mediaPlayer.setLooping(true);
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
//播放
private void player(String info){
intent.putExtra("MSG",info);
isplay = true;
btn_play_pause.setBackgroundResource(R.drawable.stop);
startService(intent);
}
//暂停
private void pause() {
intent.putExtra("MSG","1");
isplay = false;
btn_play_pause.setBackgroundResource(R.drawable.begin);
startService(intent);
}
//每隔一秒更新一次进度条
Runnable seekBarThread = new Runnable() {
@Override
public void run() {
while (musicPlayerService != null) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// Log.i("MusicPlayerService", "seekBarThread run.......");
audioSeekBar.setProgress(musicPlayerService.getCurrentPosition());
// Only the original thread that created a view hierarchy can touch its views.
/* textView.setText(musicList.get(currentposition).getTitle()+" "+
musicPlayerService.toTime(musicPlayerService.getCurrentPosition() )+
" / "+musicPlayerService.toTime(musicPlayerService.getDuration() ));
*/
}
}
};
代码链接:
https://git.dev.tencent.com/lny011/1600802040.git
apk链接: