- 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文件夹,然后将一个
您可能关注的文档
最近下载
- 胰源性腹泻的护理.ppt VIP
- 2025年天翼云从业者考试题库.docx
- 建设项目经济评价方法与参数(第三版)..pdf VIP
- 小学三年级下册综合实践活动教案.pdf VIP
- 实施指南(2025)《GB_T11364-2008钎料润湿性试验方法》.pptx VIP
- 2024年人教版英语中考复习:7~9年级课本语法知识梳理汇编(实用,必备!).doc VIP
- 生活污泥综合利用项目环评(新版环评)环境影响报告表.pdf VIP
- 宁波十校2026届高三3月联考数学试卷(含答案及解析).pdf
- 2025年互联网营销师危机公关中的压力测试与模拟演练专题试卷及解析.pdf VIP
- 2025年甘肃省兰州市中考语文试卷.docx VIP
原创力文档

文档评论(0)