介绍
这篇文章给大家介绍怎么在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布局代码省略,效果图如下:
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中使用服务方法实现本地音乐播放