温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

android应用开发:音乐播放器(2)--技术细节

发布时间:2020-07-12 22:07:26 来源:网络 阅读:547 作者:wxmgcs 栏目:移动开发

1)共享数据类:

使用android系统提供的MediaStore.Audio.Media.EXTERNAL_CONTENT_URI获取本地所有音频文件,将获取到的音频文件封装到MusicInfoController类中,将该类交给继承自Application的MusicPlayerApp类来管理,这样就可以实现通过MusicInfoController类来共享程序中的数据。
cursorMusic = musicInfoControl.getAllMusic();
2)定义常量:
由于程序中多处用到BroadCastReceiver和Intent中key的传递,所以有必要将key定义在Contants类中,并且将不同的key封装到内部类中,便于管理
Contants(MusicPlayerMsg、MusicInfoBySharedPreference、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();



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI