Service音乐播放器实例.docVIP

  • 7
  • 0
  • 约4.39千字
  • 约 8页
  • 2021-11-11 发布于广东
  • 举报
Service音乐播放器实例 Service音乐播放器实例 PAGE Service音乐播放器实例 Service音乐播放器实例 Android的服务组件继承于类,实现一个服务,只要继承类,实现其生命周期中的关键方法并添加相应的服务功能就可以。像Activity等组件一样,Service也必须在中注册才能使用。 下面通过实现一个音乐播放服务来说明Service的实现及其生命周期,该播放服务可以使用启动方式调用也可以使用绑定方式调用。音乐播放功能使用类来实现,该类提供了丰富的API接口用于实现音频、视频的播放功能,下面先简单介绍用到的几个MediaPlayer类方法。 create(Context context, Uri uri) :通过Uri创建一个MediaPlayer对象 create(Context context, int resid):通过资源ID创建一个MediaPlayer对象 isPlaying():判断播放器是否正在播放 ,返回 boolean pause():控制播放器暂停 prepare() :准备同步数据 reset() :重置 MediaPlayer 对象 setLooping(boolean looping) :设置是否循环播放 start():控制播放器开始播放 stop(): 控制播放器停止播放 实现音乐播放Service功能的步骤如下: 新建一个Android工程,创建一个继承于类的PlayerService类。代码如下: 11 public 11 public class PlayerService extends Service { 2 private final String TAG = MusicService; 3 private MediaPlayer player; 4 private final IBinder binder = new MyBinder(); 5 @Override 6 public void onCreate() { 7 (TAG, onCreate...); 8 } 9 @Override 10 public int onStartCommand(Intent intent, int flags, int sId) { 11 (TAG, onStartCommand...); 12 String state = (PlayerState); 13 if(state!=null).); 32 return binder; 33 } 34 //自定义类实现使用绑定方式调用时获得服务接口 35 public class MyBinder extends Binder { 36 PlayerService getService() { 37 return ; 38 } 39 } 40 40 public void start() { 41 if (player == null) { 42 player = (this, (false); 44 .); 51 (); 52 } 53 } 54 public void pause() { 55 if (player != null ()) { 56 (TAG, player Paused...); 57 (); 58 } 59 } 60 public void stop() { 61 (TAG, player Stoped...); 62 (); 63 (); 64 } 65 @Override 66 public boolean onUnbind(Intent intent) { 67 (TAG, Service onUnbind); 68 stop(); 69 return (intent); 70 } 71 @Override 72 public void onDestroy() { 73 (TAG, Service onDestroy); 74 (); 75 (); 76 } 77 } 服务运行时首先运行onCreate()方法。 当用启动方式调用时, 之后运行的onStartCommand()方法,该方法使用Intent接收调用端传递的参数,根据参数要求执行不同的功能:播放音乐start()、暂停播放pause()和停止播放 stop(),如行12-20所示,行42的是一个音频文件,创建方法为,在res目录中建立一个raw文件夹,然后将一个

文档评论(0)

1亿VIP精品文档

相关文档