现在的位置: 首页 > 综合 > 正文

Android菜鸟写音乐播放器2.2

2013年10月13日 ⁄ 综合 ⁄ 共 948字 ⁄ 字号 评论关闭

大家好,忙碌的迎新工作告一段落了,可以开始写程序啦,呵呵,今天完成音乐进度条与时间的显示,完成后是喜悦的,过程可真是有点困难,不过回想下倒是很享受这过程!下面来介绍介绍2.2版本新增的功能!

 

先分析:  

歌曲的播放是在MusicService这个Service中实现的,而进度条和时间显示分别是用Activity中的SeekBar和两个TextView实现的,所以要得到想要的功能就必须把Service中歌曲的播放进度的值传递给SeekBar,歌曲时间传递给TextView,这里就要用到Android的广播机制了,简单的说就是在Service中发送广播,然后在Acitivity中接收!              

 

再解决:

在MusicActivity里声明一个继承自Broadcastreceiver的内部类GetBroad,然后在MusicActivity中声明用SeekBar显示歌曲进度的一些的全局变量,利用这些变量可以设置SeekBar的最大值、现在的播放时间、总的歌曲时间,SeekBar的滑块所在位置时间就是歌曲正在播放的时间,接收广播的类写好了,接下来在Service中把歌曲的总播放时间、现在播放的时间利用sendBroadcast(Intent intent)方法广播出去,在GetBroad的onReceiver()方法中,接收来自MusicService的各种信息,一一保存至之前声明的全局变量,这样MusicActivity就能利用这些全局变量来设置进度条和时间显示了,这就是设置成全局变量的原因,MusicActivity是不能直接接收广播的。当然还要在MusicActivity中利用registerReceiver(Broadcastreceiver receiver,IntentFilter filter)这个方法动态注册广播,也要在onPause()利用unregisterReceiver(Broadcastreceiver receiver)方法取消注册。

 

后总结:

一个还算完整的音乐播放器就出来了,呵呵!今天新建一个分类Android项目用来存储我自己写的项目的总结,像这篇,用做我自己的总结,以后会在每个项目版本学到的知识写在Android实例中!用来和大家分享!


 

 

 

 

抱歉!评论已关闭.