源码已上传github,详见 这里。
样式效果如下:
放置音乐文件
app -> New -> Folder -> Assets Folder
原理
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 。