使用android studio时酷狗音乐,17 Android Studio开发实战:音乐播放器——浪花音乐...

手机上的多媒体内容讲究声情并茂、悦目且悦耳,这样才能让用户的感官得到最大享受。影视播放器由于存在视频自身的画面,反而限制了开发者的施展空间;而音乐播放器允许定制播放画面,开发者有足够空间施展拳脚。本节以“音乐播放器—— 浪花音乐”为实战项目,通过该项目的编码练习巩固和提高开发者的实战技能。

1  设计思路

大家常见的主流音乐播放器(如QQ音乐、酷狗音乐、酷我音乐、网易云音乐、虾米音乐、百度音乐等)不外乎有3项播放功能:

(1)展示音乐和歌曲列表。

(2)在歌曲详情页面滚动展示歌词,并高亮显示当前正在播放的歌词片段。

(3)通过音乐控制条显示播放进度,并提供开始与暂停、拖动播放的功能。

只看文字描述有点抽象,还是先给出播放器的效果图,方便查找对应的功能。如图所示为播放器的歌曲列表页面。

点击顶部的“打开音乐文件”会弹出文件对话框,用于选择音频文件;底部是播放器的控制条,中间为当前手机上的所有音乐文件列表。点击某个音乐项,进入该音乐的详情页面,如图所示。

页面顶部显示歌曲名称和演唱者,页面底部是播放器控制条,页面中间为该歌曲对应的歌词内容。

接下来对音乐播放器的3项功能进行详细剖析。

对于第一点的展示歌曲列表,让用户手动添加不但费时费力,而且用户往往搞不清楚手机上的歌曲都放在哪个目录。我们假设用户是“傻白甜”,开发者做的App就得智能贴心,主动帮用户把手机上的歌曲找出来。要想实现这个功能,可以通过内容组件访问系统自带的媒体库,查找并显示媒体库中的歌曲列表。

对于第二点的滚动歌词显示,常见的歌词文件是LRC格式的文本文件,内容主要是每句歌词的文字与开始时间。文本文件的解析并不复杂,难点主要是滚动显示。乍看歌词从下往上滚动,适合采用平移动画,然而歌词滚动不是匀速的,因为每句歌词的间隔时间并不固定,只能把整个歌词滚动分解为若干动画,有多少行就有多少个动画。

对于第三点的音乐控制条,总体上使用前面提到的视频控制条。不过音乐控制条更加复杂,因为除了控制音频的播放,还要控制歌词动画的播放。另外,音乐控制条显示在歌曲列表页面上,为了与主流播放器看齐,最好在系统通知栏固定放置音乐控制条。

弄懂了音乐播放器的主要功能,再来看该播放器用到的App开发技术。

(1)服务Service:歌曲播放不依赖于某个页面,即使用户回到桌面,歌曲也要继续播放,因此必须在后台服务中播放歌曲。

(2)应用Application:正在播放的歌曲名称,在播放器的任何页面都能看到,用到了全局内存,要把歌曲名称保存在自定义的Application类中。

(

你可能感兴趣的:(使用android,studio时酷狗音乐)