- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安卓音乐播放器的系统分析
Android音乐播放器
撰写人:张XX
2011-3-15
问题定义
本软件是为了用户智能手机Android而开发的一套智能软件,提供在线下载音乐,在线播放音乐,读取SD卡音乐文件等功能。
可行性研究
社会可行性分析:3G技术飞速发展,为满足人们对音乐的追求,音乐播放器层出不从,然而市面上大多音乐播发器软件都太难操作,或者音质不好,不能给用户以更好体验,故提出开放一套更加人性化的手机播放器。
技术可行性分析:以现阶段android技术发展水平,技术人员的技术配备,以及现有资源文档的配备来说,实现本软件是可能的。
经济可行性分析:有本人个人时间以及经费支持,使得开发此软件有了资金保障,可以充分利用这一优势,尽快开发。
其他可行性分析:
需求分析
随着3G时代的到来,手机应用越来越普遍,加之国民手机持有量更是爆炸式增长。移动音乐服务正是为这一形势而发展起来,本人提出一种多功能手机音乐播放器的应用,主要为了满足不同人群的音乐需要,并且提高优质的音乐服务,于是提出本音乐播放器的主要功能。
需求功能如下:
在线下载音乐功能。
在线播放音乐
显示声音波段表示
提供读取SD卡音乐
用户可以定制音乐均衡器,以满足不同音质需求
音量调节
提供歌词跟随音乐滚动更能
提供重力感应选择上、下首歌曲功能
四、概要设计(总体设计):
模块 简要说明 在线下载音乐功能 本根据用户输入音乐文件地址,自动下载在SD卡或者内存中并播放 在线播放音乐
提供音乐播放的基本功能 显示声音波段表示
根据声音波段产生震动的波段 提供读取SD卡音乐
检测SD卡,并显示出音乐文件 用户可以定制音乐均衡器,以满足不同音质需求
提供不等的滑动条,用以控制声音的质量,均衡器 音量调节
由滑动条调节音质的大小0--100
提供歌词跟随音乐滚动更能
采用多线程以及解析LRC歌词文件同步播放音乐以及歌词 提供重力感应选择上、下首歌曲功能 采用Android系统的重力感应,以便选择上下首歌曲进行播放
软件程序流程图
五:详细设计
那么接下来就开始我们的每一个模块的详细设计了:
在线下载音乐:
提供一个文本框供用户输入网络音乐文件地址,然后确定下载,并提供进度条显示,下载完毕后关闭对话框,注意进程之间的问题。
在线播放音乐
提供音乐播放的基本功能,快进,暂停,播放,快退,同时进度滑块条需跟随滑动,用户也可以滑动滑动条进行调整播放位置。
提供读取SD卡音乐
检测用户SD卡,如果没有,则弹出信息提示,并提示用户下载网络音乐,如果检测有SD卡,则再遍历是否有可播放文件,如果没有,则返回。如果有,则显示出全部音乐文件,并提供点击播放功能。
用户可以定制音乐均衡器,以满足不同音质需求
以一个对话框形式表现出,并提供多项滑动条供用户调节音频,同时更新音乐播放的质量。
音量调节提供
提供滑动条供用户调节音量,音量范围在0—100之间
提供歌词跟随音乐滚动更能
解析LRC歌词文件,并同步歌词已经播放声音,注意以多线程方式以及解析xml方式处理
提供重力感应选择上、下首歌曲功能
根据系统自带API开启重力感应功能,同时根据感应的方向选择切换到上下不同首歌曲,然后播放。
六:编码、单元测试。
七:综合测试
组织人员对其进行一般性操作测试,针对每一模块进行,同时编写测试报告。程序员修正Bug,根据用户反映,及时调整。
如果条件允许,可以变编写:测试计划,测试大纲,搭建测试环境,设计和生成测试用例,测试报告
八:软件使用培训以及后期维护
组织人员进行软件使用培训,并且由程序员或者美工人员制作培训指南。程序员需熟悉相关模块,并熟悉文档,以便进行后期维护。
歌词同步的原理其实很简单:
歌词显示是一个线程, 音乐播放时一个线程,通过播放时间将歌词显示进度与播放进度同步起来。
了解歌词同步原理,我们可以想到要做如下工作:
1. LRC 解析
2. LRC 歌词显示
3. 歌词与播放音乐同步
4. 歌词的获取
一 LRC解析
这边我推荐YOYOPlayer 音乐播放开源项目. 源代码已经非常好的支持了LRC解析. 我拿过来就用了.
过程大概如此: 把LRC文件读到内存里面,用 sentence数据结构存放. Sentence里面有 Fromtime, Totime, content三个成员变量。显示的时候需要这些数据。
二. LRC歌词显示
文档评论(0)