service音乐播放器实例

service音乐播放器实例

ID:13784701

大小:57.00 KB

页数:8页

时间:2018-07-24

service音乐播放器实例_第1页
service音乐播放器实例_第2页
service音乐播放器实例_第3页
service音乐播放器实例_第4页
service音乐播放器实例_第5页
资源描述:

《service音乐播放器实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Service音乐播放器实例Android的服务组件继承于android.app.Service类,实现一个服务,只要继承android.app.Service类,实现其生命周期中的关键方法并添加相应的服务功能就可以。像Activity等组件一样,Service也必须在AndroidManifest.xml中注册才能使用。下面通过实现一个音乐播放服务来说明Service的实现及其生命周期,该播放服务可以使用启动方式调用也可以使用绑定方式调用。音乐播放功能使用android.media.MediaPlayer类

2、来实现,该类提供了丰富的API接口用于实现音频、视频的播放功能,下面先简单介绍用到的几个MediaPlayer类方法。ncreate(Contextcontext,Uriuri):通过Uri创建一个MediaPlayer对象ncreate(Contextcontext,intresid):通过资源ID创建一个MediaPlayer对象nisPlaying():判断播放器是否正在播放,返回booleannpause():控制播放器暂停nprepare():准备同步数据nreset():重置MediaPlayer

3、对象nsetLooping(booleanlooping):设置是否循环播放nstart():控制播放器开始播放nstop():控制播放器停止播放实现音乐播放Service功能的步骤如下:1)新建一个Android工程,创建一个继承于android.app.Service类的PlayerService类。代码如下:11publicclassPlayerServiceextendsService{2privatefinalStringTAG="MusicService";3privateMediaPlayerp

4、layer;4privatefinalIBinderbinder=newMyBinder();5@Override6publicvoidonCreate(){7Log.i(TAG,"onCreate...");8}9@Override10publicintonStartCommand(Intentintent,intflags,intsId){11Log.i(TAG,"onStartCommand...");12Stringstate=intent.getStringExtra("PlayerState");

5、13if(state!=null)//判断客户端发送过来的指令参数14{15if(state.equals("START"))//播放16{start();}17if(state.equals("PAUSE"))//暂停18{pause();}19if(state.equals("STOP"))//停止20{stop();}21if(state.equals("STOPSERVICE"))//停止服务22{//调用stopSelf()关闭服务23stopSelf();24}25}26returnsuper.o

6、nStartCommand(intent,flags,sId);27}28@Override29//绑定方式调用时使用此函数30publicIBinderonBind(Intentintent){31Log.i(TAG,"onBind...");32returnbinder;33}34//自定义类实现使用绑定方式调用时获得服务接口35publicclassMyBinderextendsBinder{36PlayerServicegetService(){37returnPlayerService.this;3

7、8}39}40publicvoidstart(){41if(player==null){42player=MediaPlayer.create(this,R.raw.hen_egg);43player.setLooping(false);44//防止prepareAsynccalledinstate8错误45if(player!=null)46{player.stop();}47player.prepare();48}49if(!player.isPlaying()){50Log.i(TAG,"players

8、tart...");51player.start();52}53}54publicvoidpause(){55if(player!=null&&player.isPlaying()){56Log.i(TAG,"playerPaused...");57player.pause();58}59}60publicvoidstop(){61Log.i(TAG,"playerStoped...");62pla

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。