安卓应用开发MusicBox篇
实验效果:
点击播放即可播放,然后播放键切换为暂停,点击停止可暂停播放,并初始化,然后上一曲,下一曲,到达顶部时可以循环列表。
实验过程:
首先我们要实现播放音乐的功能,其次再去增加他的操作。在这里我们使用了广播接收者组件。我们在mainactivity的目录新建一个服务,然后在menufest里面去声明才可以使用,如下:
然后写我们新建的服务类,给出歌单,也就是列表
当然,也要给出一个值来表示状态,一个值表示当前正在播放的曲目。因为播放音乐要使用到mediaplayer组件,所以咱们要重写一个方法,
这个模板差不多都是固定的,不同的就是一个传参的问题,至于各种状态的控制,看你自己怎么想的就可以怎么写,这个很灵活的,然后我们就是还需要在mainactivity里面创建请求,监听。
下面就是自定义监听的方法,这里除了固定结构以外,其他的自己随意发挥,看你需要怎样的功能
然后就是之前不是给了一个状态值吗,在这里咱们可以去具体写出每一个状态值的意义
也就是暂停,播放以及停止,最后就是一个图标的转换,这个也很简单了
然后我们就可以实现播放音乐的功能了,其次我们再来添加上一首,下一首的功能,首先要在layout。xml中设置按钮,然后到主函数中声明,传参和调用,这些都比较简单,我就不多说了,和之前的按钮一样处理,然后就是判断的问题
这里我给的value是3和4,所以3代表上一曲按钮,4代表下一曲按钮,但按动时,我们先停止音乐播放,然后改变状态值,再做一个判断,例如上一曲,current大于0也就说明至少是第二个曲目,所以当等于0时,也就是第一个曲目是,我们再点击就会到达最后一个曲目,这也就是一个列表循环的控制,下一曲则正好相反,然后我们再启动播放,传递状态,理解起来也比较简单。
具体代码参见:https://gitee.com/guan-zhiwei/music-box.git