移动开发技术(三)MusicBox

实验要求

使用广播机制,编写音乐盒代码,添加音乐播放的播放、暂停、停止、上一首和下一首控制

实验步骤

一、布局设置

添加一个LinearLayout,选择垂直分布。在里面添加两个LinearLayout:
①music_show:用于展示图片和歌曲信息。添加一个ImageView和两个TextView
②play_control:用于播放控制。添加四个ImageButton。
移动开发技术(三)MusicBox

二、 添加资源

在main下创建文件夹assets,将MP3格式的
文件导入该文件夹中

三、 Java文件编写

本实验通过广播机制来实现,整体的逻辑为:
监听播放控件,控件被点击后,发送数据给MusicService,MusicService根据穿送过来的数据选择播放、暂停、停止、上一首或下一首,再将播放状态发送给MainActivity,MainActivity根据状态更新控件图片。

编写MainActivity类

首先对数据处理一下,定义两个列表存放歌曲名和歌手名

由于我们要实现的功能是点击控件,进行音乐的播放暂停等控制,所以需要为控件设置监听。所以需要重写onCreate方法,通过id找到相应的控件,并设置监听。
重写onClick方法,监听到控件被点击后,通过sendBroadcast将数据发送给MusicService。

在定义一个继承BroadcastReceiver的ActivityReceiver,接收MusicService发送过来的数据,根据播放状态更换控件图标、歌名和歌手名。

编写MusicService类

首先进行数据处理,定义一个列表存放音乐资源名称

创建一个MediaPlayer的实例化对象mPlayer,定义一个PlayReady方法,将要播放的文件加载给mPlayer

重写onCreate方法,为mPlayer播放完成事件绑定监听器

创建一个继承自BroadcastReceiver的MyReceiver,接收MAinActivity传过来的状态信息,通过mPlayer进行播放控制,并修改状态信息,将状态信息发送给MainActivity。

四、 实验结果

启动页面移动开发技术(三)MusicBox
点击播放按钮后,图标切换并播放音乐:移动开发技术(三)MusicBox

点击下一首:移动开发技术(三)MusicBox
停止播放
移动开发技术(三)MusicBox

源码


源码地址,点击跳转