Service音乐播放器实例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Service音乐播放器实例

Service音乐播放器实例 Android的服务组件继承于android.app.Service类,实现一个服务,只要继承android.app.Service类,实现其生命周期中的关键方法并添加相应的服务功能就可以。像Activity等组件一样,Service也必须在AndroidManifest.xml中注册才能使用。 下面通过实现一个音乐播放服务来说明Service的实现及其生命周期,该播放服务可以使用启动方式调用也可以使用绑定方式调用。音乐播放功能使用android.media.MediaPlayer类来实现,该类提供了丰富的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工程,创建一个继承于android.app.Service类的PlayerService类。代码如下: 服务运行时首先运行onCreate()方法。 当用启动方式调用时, 之后运行的onStartCommand()方法,该方法使用Intent接收调用端传递的参数,根据参数要求执行不同的功能:播放音乐start()、暂停播放pause()和停止播放 stop(),如行12-20所示,行42的R.raw.hen_egg是一个音频文件,创建方法为,在res目录中建立一个raw文件夹,然后将一个名为hen_egg的音频文件拷贝到其中即可; 当用绑定绑定方式调用时,之后运行的是onBind()方法,该方法返回一个可以被客户端调用的服务接口,如行32所示,返回值binder的定义在行4,MyBinder类是为了使客户端能够获得服务接口,定义的一个可以实现远程调用的类,如行35-39所示,当客户端解除绑定时会调用onUnbind()方法。 服务生命结束时,最后要调用onDestroy()方法来释放资源。 注册服务 打开AndroidManifest.xml,在 application标签中注册服务,该过程可以在Manifest编辑器中,点击选项卡,类似注册Activity来注册Service。 实现界面布局Layout 在MainActivity的Layout中添加9个按钮并设置其onClick事件,分别用于实现startService()方式调用时的四个功能和绑定方式调用时的五个功能:开始播放(playerStart)、暂停播放(playerPause)、停止播放(playerStop)、停止服务(stopService)、绑定服务(startBindService)、bind播放(playerBindStart)、bind暂停(playerBindPause)、bind停止(playerBindStop)和解除绑定(unbindService)。 4)启动方式访问音乐服务,各个功能实现代码如下: startService()方式访问服务比较简单,只要将数据封装在Intent中,然后调用startService()函数启动服务就可以,如果服务已经运行,服务不会再重新创建,而是从生命周期的onStartCommand()开始运行。服务的终止可以使用 stopService(),如行24所示,也可以向服务传递一个参数,控制服务在服务类内部使用stopSelf()终止服务。 绑定方式访问音乐服务 该访问方式需要先建立与服务的连接并获得服务的访问接口。功能实现代码如下: 获得服务接口对象后,可以利用服务接口对象,直接访问服务中的方法,下面是利用服务接口对象实现播放器的代码。 11 public class PlayerService extends Service { 2 private final String TAG = MusicService; 3 private MediaPlayer player; 4 private final IBinder binder = new MyBinder(); 5

文档评论(0)

yd327298 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档