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.代码链接 :
5.apk的下载地址 :