Broadcast + Service 实现简单音乐播放器

Broadcast + Service 实现简单音乐播放器

源码已上传github,详见 这里

样式效果如下:
Broadcast + Service 实现简单音乐播放器

放置音乐文件

app -> New -> Folder -> Assets Folder
Broadcast + Service 实现简单音乐播放器

原理

Broadcast + Service 实现简单音乐播放器
MainActivity 发送广播,把在 main.xml 上4个按钮的对应的 control 发送出去, MusicService 接收到 MainActivity 发送的广播,执行相应动作。

MusicService 发送广播,将当前放第几首歌(current,默认0)发送出去,MainActivity 接收到MusicService发送的广播,从而在main.xml 的2个TextView处显示当前歌曲的 title 和 author。

MainActivity 和 MusicService 都即是发送方,也是接收方。

status是作为广播中在MainActivity和MusicService之间传递音乐播放状态的Intent的一个值。

Service 使应用程序能在后台运行。虚拟机在返回MusicBox2程序后仍可播放音乐。

代码功能解释

部分代码及其解释见此 ppt