Android应用开发--MP3音乐播放器Service实现
2013年5月29日简、美音乐播放器开发记录
让网友们久等啦,关于简、美音乐播放器的开发,最重要的Service类总算是要发博了。关于Android五大组件之一的Service在音乐播放器开发中得到了很好的应用,不仅是Service,广播(Broadcast)、Activity、Content Provider都会在此次开发中用到。所以说对于Android的一个很好的练手项目,音乐播放器是毋庸置疑的。上一篇,主要介绍的是播放界面的业务逻辑实现,不过这些业务逻辑都是以Service为中心的。
![](https://i-blog.csdnimg.cn/blog_migrate/0944aff54f3d4895ab59ba7b019ff0a7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/10541e98d5e58424eec22c001ee83a31.png)
package com.wwj.sb.service;import java.util.List;import android.annotation.SuppressLint;import android.app.Service;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.media.MediaPlayer;import android.media.MediaPlayer.OnCompletionListener;import android.media.MediaPlayer.OnPreparedListener;import android.os.Handler;import android.os.IBinder;import android.util.Log;import com.wwj.sb.activity.PlayerActivity;import com.wwj.sb.domain.AppConstant;import com.wwj.sb.domain.Mp3Info;import com.wwj.sb.utils.MediaUtil;/*** * 2013/5/25 * @author wwj * 音乐播放服务 */@SuppressLint("NewApi")public class PlayerService extends Service { private MediaPlayer mediaPlayer; // 媒体播放器对象 private String path; // 音乐文件路径 private int msg; private boolean isPause; // 暂停状态 private int current = 0; // 记录当前正在播放的音乐 private List<Mp3Info> mp3Infos; //存放Mp3Info对象的集合 private int status = 3; //播放状态,默认为顺序播放 private MyReceiver myReceiver; //自定义广播接收器 private int currentTime; //当前播放进度 private int duration; //播放长度 //服务要发送的一些Action public static final String UPDATE_ACTION = "com.wwj.action.UPDATE_ACTION"; //更新动作 public static final String CTL_ACTION =