Android音乐播放器开发文档.doc

上传人:scccc 文档编号:13730296 上传时间:2022-01-22 格式:DOC 页数:25 大小:480.50KB
返回 下载 相关 举报
Android音乐播放器开发文档.doc_第1页
第1页 / 共25页
Android音乐播放器开发文档.doc_第2页
第2页 / 共25页
Android音乐播放器开发文档.doc_第3页
第3页 / 共25页
Android音乐播放器开发文档.doc_第4页
第4页 / 共25页
Android音乐播放器开发文档.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Android音乐播放器开发文档.doc》由会员分享,可在线阅读,更多相关《Android音乐播放器开发文档.doc(25页珍藏版)》请在三一文库上搜索。

1、多媒体综合课程设计报告课题名称:ANDROID音乐播放器姓名:杨超学号:28231020122011年10月31日计算机综合课程设计报告目录计算机综合课程设计报告目录目录1需求分析错误!未定义书签计算机综合课程设计报告目录计算机综合课程设计报告目录1.1问题定义错误!未定义书签。1.2可行性研究错误!未定义书签。1.3 需求分析错误! 未定义书签。1.4总体设计错误!未定义书签。2.概要设计 错误!未定义书签。2. 1引言 62.1.1 编写目的62.1.2 背景72.1.3 术语定义72.1.4 参考资料72.2总体设计 72.2.1 总体技术框架 72.2.2 霊求与设计对应表 72.3功

2、能设计错误!未定义书签计算机综合课程设计报告目录计算机综合课程设计报告目录2.3.12.3.22.3.32.3.42.3.5音乐播放后台运行错误!错误!读取SD卡错误!歌词同步错误!手.势换歌错误!未定义书签。未定义书签。未定义书签。未定义书签。未定义书签。2.4接口设计2.5部署与组件设计 82.5.1 部署模型8计算机综合课程设计报告目录计算机综合课程设计报告目录3.详细设计错误!未定义书签计算机综合课程设计报告目录计算机综合课程设计报告目录.错误!未定义书签。错误!未定义书签。 错误!未定义书签。.错误!未定义书签。错误!未定义书签。错误!未定义书签。3.1模块功能实现3.1.1在线音乐

3、下载3.1.2.在线播放音乐3.1.3 读取 SDcard.3.1.4重力感应换歌3.1.5歌词同步3.1.6歌词获取3.2编码、单元测试 3.3综合测试3.4软件使用培训及后期维护计算机综合课程设计报告目录计算机综合课程设计报告目录4.使用说明错误!未定义书签4.1软件的操作流程错误!未定义书签。计算机综合课程设计报告目录Chapter 1需求分析一、问题定义本软件是为了用户智能手机 An droid而开发的一套智能软件,播放音 乐,读取SD卡音乐文件等功能。二、可行性研究社会可行性分析:An droid飞速发展,为满足人们对音乐的追求,音乐 播放器层出不从,然而市面上大多音乐播发器软件都太

4、难操作,或者音质不好, 不能给用户以更好体验,故提出开放一套更加人性化的手机播放器。技术可行性分析:以现阶段an droid技术发展水平,技术人员的技术配 备,以及现有资源文档的配备来说,实现本软件是可能的。经济可行性分析:有本人个人时间以及经费支持,使得开发此软件有了 资金保障,可以充分利用这一优势,尽快开发。其他可行性分析:三、需求分析随着An droid时代的到来,应用越来越普遍,加之国民手机持有量更是爆炸式 增长。移动音乐服务正是为这一形势而发展起来,本人提出一种多功能手机音乐 播放器的应用,主要为了满足不同人群的音乐需要,并且提高优质的音乐服务,于是提出本音乐播放器的主要功能。需求功

5、能如下:后台运行播放音乐提供读取SD卡音乐音量调节提供歌词跟随音乐滚动更能提供手势换歌四、总体设计:模块简要说明播放音乐提供音乐播放的基本功能后台运行用户可以退回到桌面继续听歌,同时实现看书听音乐提供读取SD卡音乐检测SD卡,并显示出音乐文件音量调节由滑动条调节音质的大小0-100提供歌词跟随音乐滚动更能采用多线程以及解析LRC歌词文件同步播放音乐以及歌词提供手势换歌采用An droid系统的手势操作,以便选 择上下首歌曲进行播放Chapter 2概要设计1引言i.i编写目的写出概要设计的总体流程,方便老师参考1.2背景综合课程设计1.3术语定义暂无1.4参考资料Android开发指南2总体设

6、计2.1总体技术框架由Google提供的SDK开发An droid播放器,参考 API文档完成开发2.2需求与设计对应表模块简要说明播放音乐提供音乐播放的基本功能后台运行用户可以退回到桌面继续听歌,同时实现看书听音乐提供读取SD卡音乐检测SD卡,并显示出音乐文件音量调节由滑动条调节音质的大小 0-100提供歌词跟随音乐滚动更能采用多线程以及解析 LRC歌词文件同步播放音乐以及歌词提供手势换歌采用An droid系统的手势操作,以便选择上下首歌曲进行播放3功能设计3.1播放音乐调用An droid自带的播放器进行音乐的播放3.2后台运行运用An droid的Service进行后台3.3 读取SD

7、卡调用SDK的media中的静态方法扫描 SD卡中的音频文件3.4 歌词同步通过播放时间将歌词显示进度与播放进度同步起来。3.5手势换歌SDK自带的API进行手势换歌,识别手势。4接口设计检测SD卡-调用外部MEDIA接口进行静态扫描音乐播放-调用系统接口进行播放手势换歌-调用SDK的API进行手势识别5部署与组件设计5.1部署模型音乐揺放器流程图Chapter 3详细设计3.1模块的详细设计了:3.1.1在线下载音乐:提供一个文本框供用户输入网络音乐文件地址,然后确定下载,并提供进度条显示,下载完毕后关闭对话框,注意进程之间的问题。3.1.2在线播放音乐提供音乐播放的基本功能,快进,暂停,播

8、放,快退,同时进度滑块条需跟随滑动,用户也可以滑动滑动条进行调整播放位置。3.1.3提供读取SD卡音乐检测用户SD卡,如果没有,则弹出信息提示,并提示用户下载网络音乐,如 果检测有SD卡,则再遍历是否有可播放文件,如果没有,则返回。如果有,则 显示出全部音乐文件,并提供点击播放功能。用户可以定制音乐均衡器,以满足不同音质需求以一个对话框形式表现出,并提供多项滑动条供用户调节音频,同时更新音乐 播放的质量。音量调节提供提供滑动条供用户调节音量,音量范围在 0 100之间 提供歌词跟随音乐滚动更能 解析LRC歌词文件,并同步歌词已经播放声音,注意以多线程方式以及解析xml 方式处理3.1.4重力感

9、应换歌提供重力感应选择上、下首歌曲功能根据系统自带API开启重力感应功能,同时根据感应的方向选择切换到上下不 同首歌曲,然后播放。3.1.5歌词同步歌词同步的原理其实很简单 :歌词显示是一个线程,音乐播放时一个线程,通过播放时间将歌词显示进度与播放进度 同步起来。网络标准的歌词格式是 LRC.我们看下一个LRC文档,其格式就一目了然了.ti:爱ar:小虎队al:华纳国语情浓13首by:爱上你了音乐网02:08.0000:38.00把你的心、我的心串一串02:11.0000:41.00串一株幸运草、串一 ?同心圆02:16.0000:46.00让所有期彳寸未?的呼唤02:19.0000:49.0

10、0趁青春做?伴03:16.0002:24.0000:53.00?让年轻越长大越孤单03:19.0002:27.0000:56.00 把我的幸运草种在你的梦田03:23.0002:31.0001:01.00 让地球随我?的同心圆LRC格式为歌词显示起始时间歌词显示结束时间歌词内容。了解歌词同步原理,我们可以想到要做如下工作1. LRC解析2. LRC歌词显示3. 歌词与播放音乐同步4. 歌词的获取一 LRC解析LRC解析.Sentence 里这边我推荐YOYOPlayer音乐播放开源项目.源代码已经非常好的支持了 我拿过来就用了 .过程大概如此:把LRC文件读到内存里面,用sentenee数据结

11、构存放面有Fromtime, Totime, content三个成员变量。显示的时候需要这些数据。二.LRC歌词显示歌词的绘制通过重写OnDraw方法.绘制的代码贴出来:long t = tempTime;int in dex = getNowSe nte nceln dex(t);if (in dex = -1) return;Sentence now = list.get(i ndex);float f = (t - now.getFromTime() * 1.0f/ (no w.getToTime() - no w.getFromTime();if (f 0.98f) f = 0.98f

12、;Shader shader = new Lin earGradie nt(O, 0,now.getContentWidth(mTxtPaint), 0, new int Color.RED,Color.BLUE , new float f, f + 0.01f ,TileMode.CLAMP);mTxtPai nt.setShader(shader);can vas.drawText( no w.getC onten t(), 0, 20, mTxtPa in t);上面的代码很简单,关键一个函数是getNowSe nte nceln dex(t).通过播放时间来获得歌词的索引.我们看下getNowSentenceIndex()如何实现.*得到当前正在播放的那一句的下标不可能找不到,因为最开头要加一句自己的句子,所以加了以后就不可能找不到了* return 下标*/private int getNowSe ntenceln dex(l ong t) for (int i = 0; i 4:AndroHd2.L i留勵国1:05PMCustom LocaleDevTao35MessagingEmailGalleryGesturesBuilderMusic晉乐宝贝PhorteSettingsSpare Parts

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1