下面通过一个“音乐播放器”的案例来演示如何使用服务来进行通信,具体步骤如下。
(1)创建程序
创建一个名为MusicPlayer 的应用程序,设计用户交互界面,具体如图13-8 所示。
图13-8 音乐播放器界面
布局文件activity_main.xml 代码如下:
(2)创建服务类MusicService
创建一个服务类MusicService,用于完成音乐的播放、暂停、重播、停止功能。MusicService 类的代码如下:
在Android 系统中,播放音频文件一般使用MediaPlayer 类来实现,下面介绍一下MediaPlayer 类中常用的方法:
· setAudioStreamType():指定音频文件的类型,必须在prepare()方法之前调用。
· setDataSource():设置要播放的音频文件的位置。
· prepare():在开始播放之前调用这个方法完成准备工作。
· start():开始或继续播放音频。
· pause():暂停播放音频。
· reset():将MediaPlayer 对象重置到刚刚创建的状态。(www.xing528.com)
· seekTo():从指定位置开始播放音频。
· stop():停止播放音频,调用该方法后,MediaPlayer 对象将无法再继续播放音频。
· release():释放与MediaPlayer 对象相关的资源。
· isPlaying():判断当前MediaPlayer 是否正在播放音频。
· getDuration():获取载入音频文件的时长。
· getCurrentPosition():获取当前播放音频文件的位置。
(3)清单文件的配置
在清单文件中添加如下代码:
(4)编写界面交互代码
需要在MainActivity 中实现播放、暂停、重播、停止按钮的点击操作,具体代码如下:
需要注意的是,在onDestroy()方法中,首先要停止子线程才能解绑服务。 因为子线程中调用了服务中的方法,如果先解绑就会报异常。
(5)运行程序
运行程序之前需要在模拟器的“data/music”目录中复制音乐,然后运行程序,单击播放按钮就能看到如图13-9 所示的界面。
图13-9 测试音乐播放器
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。