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链接:

https://git.dev.tencent.com/lny011/apk.git

posted @ 2018-12-11 22:43  lny011  阅读(169)  评论(0编辑  收藏  举报