怎么在Android中使用服务方法实现本地音乐播放

  介绍

这篇文章给大家介绍怎么在Android中使用服务方法实现本地音乐播放,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1,主活动控制音乐的开始,暂停,停止,退出空能,(具体实现在下面MusicService。java中实现)

/* *   ,*活动播放广播,返回键返回后,重新进入无法停止   ,*   ,*通过开始启动服务的方式,控制音乐播放   ,*/public  class  MainActivity  extends  AppCompatActivity  implements  View.OnClickListener {   ,private  Button  btn_main_play;   ,private  Button  btn_main_stop;   ,private  Button  btn_main_pause;   ,private  Button  btn_main_exit;   ,   ,@Override   ,protected  void  onCreate (Bundle  savedInstanceState), {   super.onCreate才能(savedInstanceState);   ,,setContentView (R.layout.activity_main);   ,   时间=btn_main_play 才能;findViewById (R.id.btn_main_play);   时间=btn_main_stop 才能;findViewById (R.id.btn_main_stop);   时间=btn_main_pause 才能;findViewById (R.id.btn_main_pause);   时间=btn_main_exit 才能;findViewById (R.id.btn_main_exit);   ,   btn_main_play.setOnClickListener才能(这个);   btn_main_stop.setOnClickListener才能(这个);   btn_main_pause.setOnClickListener才能(这个);   btn_main_exit.setOnClickListener才能(这个);   ,}   ,/* *   *,才能按钮点击监听事件,将点击的类型传给服务进行判断   *,才能@param  v   ,*/,@Override   ,public  void  onClick (View  v), {   Intent 才能;Intent =, new 意图(这个,MusicService.class);   switch 才能;(,v.getId ()) {   ,,case  R.id.btn_main_play://播放   ,,,intent.putExtra (“action",“play");   ,,,startService(意图);   ,,,休息;   ,,case  R.id.btn_main_stop://停止   ,,,intent.putExtra (“action",“stop");   ,,,startService(意图);   ,,,休息;   ,,case  R.id.btn_main_pause://暂停   ,,,intent.putExtra (“action",“pause");   ,,,startService(意图);   ,,,休息;   ,,case  R.id.btn_main_exit://退出并关闭音乐   ,,,//停止服务   ,,,stopService(意图);   ,,,完成();   ,,,休息;   ,,默认值:   ,   ,,}   ,}   }

2, activity_main。xml布局代码省略,效果图如下:

怎么在Android中使用服务方法实现本地音乐播放

3,创建音乐播放器处理流程的服务MusicService。java:

/* *   ,*通过服务控制音乐的播放   ,*/public  class  MusicService  extends  Service  {   ,public  MusicService (), {   ,}   ,   ,//创建播放器对象   ,private  MediaPlayer 运动员;   ,   ,@Override   ,public  IBinder  onBind (Intent 意图),{   throw 才能;new  UnsupportedOperationException (“Not  yet  implemented");   ,}   ,   ,@Override   ,public  int  onStartCommand (Intent 意图,,int 旗帜,int  startId), {//才能获取MainActivity中,按钮的点击类型:根据不同类型处理不同事件   String 才能;action =, intent.getStringExtra (“action");   if 才能;(“play" .equals(行动),{   ,,//播放   ,,playMusic ();   ,,},else  if  (“stop" .equals(行动),{   ,,//停止   ,,stopMusic ();   ,,},else  if  (“pause" .equals(行动),{   ,,//暂停   ,,pauseMusic ();   ,,}   return 才能;super.onStartCommand(旗帜,意图,还以为;startId);   ,}   ,/* *   *,才能播放音乐   ,*/,public  void  playMusic (), {   if 才能;(player ==, null ), {   球员,,=,MediaPlayer.create(这个,R.raw.kkth_myr);   ,,}   player.start才能();   ,}   ,/* *   *,才能暂停播放   ,*/,public  void  pauseMusic (), {   if 才能;(player  !=, null ,,, player.isPlaying ()), {   ,,player.pause ();   ,,}   ,}   ,/* *   *,才能停止播放   ,*/,public  void  stopMusic (), {   if 才能;(player  !=, null), {   ,,player.stop ();   ,,player.reset();//重置   ,,player.release();//释放   ,,player =,空;   ,,}   ,}   ,   ,@Override   ,public  void  onDestroy (), {   super.onDestroy才能();//在才能服务死亡之前停止音乐   stopMusic才能();   ,}   }

怎么在Android中使用服务方法实现本地音乐播放