android应用开发:音乐播放器(2)…

1)共享数据类:
使用android系统提供的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI获取本地所有音频文件,将获取到的音频文件封装到MusicInfoController类中,将该类交给继承自Application的MusicPlayerApp类来管理,这样就可以实现通过 MusicInfoController类来共享程序中的数据。
cursorMusic = musicInfoControl.getAllMusic();
2)定义常量:
由于程序中多处用到BroadCastReceiver和Intent中key的传递,所以有必要将key定义在Contants类中,并且将不同的key封装到内部类中,便于管理
Contants(MusicPlayerMsg、MusicInfoBySharedPrefere nce、ReceiverByBroadcast、MsgByBroadcast);
3)保存程序退出数据:
将程序的退出信息写到SharedPreference中,方便程序下次运行的时候,找到可用的资源。
setMusicInfoToSP(String musicName, String musicPath);
getMusicInfoBySP();
4)播放暂停控制:
设置标志位
5)上一曲/下一曲:
当前的歌曲id加1/减一后,将该值发给musicInfoControl,从musicInfoControl中获取歌曲的上一首/下一首信息
6)播放进度的字符显示
在Service中创建进程,该进程每隔1秒将当前的播放状态(mplayer.getCurrentPosition())发送给主界面,主界面对接收到的数据进行格式化
SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("mm:ss");
musicEndTime.setText(mSimpleDateFormat.format(durationTime));
7)进度条的实时更新:
设置当前值:musicProgressBar.setProgress(currentTime);
设置最大值:musicProgressBar.setMax(durationTime);
8)实时更新播放界面的歌曲标题:
在播放列表界面的时候,通过广播将listview中被选择的歌曲信息发给播放主界面。
9)监听播放结束信息

setOnCompletionListener

10)点击Menu按键就无法弹出菜单

覆写activity的onKeyUp方法,并调用监听KeyEvent.KEYCODE_MENU,super.openOptionsMenu();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值