一个简单的安卓音乐播放器资料

上传人:今*** 文档编号:108313008 上传时间:2019-10-23 格式:DOC 页数:21 大小:1.26MB
返回 下载 相关 举报
一个简单的安卓音乐播放器资料_第1页
第1页 / 共21页
一个简单的安卓音乐播放器资料_第2页
第2页 / 共21页
一个简单的安卓音乐播放器资料_第3页
第3页 / 共21页
一个简单的安卓音乐播放器资料_第4页
第4页 / 共21页
一个简单的安卓音乐播放器资料_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《一个简单的安卓音乐播放器资料》由会员分享,可在线阅读,更多相关《一个简单的安卓音乐播放器资料(21页珍藏版)》请在金锄头文库上搜索。

1、嵌入式高级编程大作业HIHEIMUSIC学院:计算机与信息工程学院班级:计算机与科学技术系学号:201320721061姓名:杨建利HIHEIMUSIC摘要使用Java语言,利用Eclipse和Android SDK 开发工具,完成对Android版本的音乐播放器的开发。开发中使用ContentProvider获取音乐信息,利用Service+MediaPlayer完成音乐的播放,最后在界面中使用intent完成界面的跳转中的信息传递。主要实现歌曲的播放,进度控制以及来去电话时候对歌曲的自动暂停操作功能,最后使用自定义歌词组件完成歌词对歌曲的同步显示。关键词:Android 、Service、

2、MediaPlayer、ContentProvider 目录1. 引言41.1 项目介绍41.2 开发环境42. 系统需求分析42.1 用户需求42.2 功能需求43. 系统总体设计43.1 功能划分(系统总体框架)53.2 功能说明53.3 系统数据流程图63.4 数据流程说明73.5 界面布局设计83.6 界面切换描述94. 系统详细设计104.1 结构设计10 4.2 函数设计115. 系统实现195.1 运行结果196. 结论217. 参考文献211. 引言 1.1 项目介绍由于学习Android中的各种控件,机制以及完成课程设计的要求。所以,制作该音乐播放器。 1.2 开发环境Win

3、dows7系统下,使用Eclipse+ADT(Android4.2.2)+Java JDK开发环境。2. 系统需求分析 2.1 用户需求(1)查看手机上的歌曲(2)点击播放歌曲 (3)对歌曲进行播放/暂停/上一曲/下一曲/播放模式以及进度实时显示以及控制(4)播放歌曲同时同步滚动显示歌词 2.2 功能需求(1) 一共有两个界面,歌曲信息界面和歌词界面。(2) 歌曲信息界面有标题(本地歌曲),中部有歌曲信息(歌曲图标、歌曲名称、时长,歌手名称),底部简单歌曲控制(进度条(允许拖拉控制歌曲进度)、当前歌曲名称、播放/暂停按钮、下一曲)(3) 点击当前歌曲名称(底部简单歌曲控制中)跳转到歌词界面(4

4、) 歌词界面顶部当前歌曲名称,中部歌词显示,底部控制选项(5) 歌词显示要求能够实时同步滚动显示歌词,即演唱到哪句就哪句变为高亮,并且应当在屏幕可见位置,歌词应该有滚动效果,允许用户上下拖拉去查看歌词,并且不会影响歌曲正常播放,最后歌词应该可以自己调整位置,保证用户歌词查看方便。(6) 底部控制要求具有播放模式选择(进度条(实时显示歌曲进度,允许用户通过进度条控制歌曲播放进度)、全部循环/单曲循环(共用一个按钮)、上一曲、播放/暂停(共用一个按钮)、下一曲,返回歌曲列表) 2.3 性能需求获取本地歌曲的时间小于2s,做到歌曲的控制可以实时响应(小于0.5s)。3. 系统总体设计 3.1 功能划

5、分(系统总体框架)3.2 功能说明3.2.1 歌曲信息获取从手机的数据库中找到歌曲的信息,然后封装好。以供其他组件调取。3.2.2 歌曲基本控制l 进度条(SeekBar)进度条保证实时显示(10次/s),更新歌曲播放的进度。通过拖拽进度条可以完成对歌曲的进度的控制。l 当前歌曲显示当前歌曲的名称(歌曲名太长时自动滚动显示)。点击直接跳转至歌词界面l 播放/暂停控制按钮对当前歌曲进行播放/暂停控制。并且要求当播放状态时,点击暂停,并且按钮图标进行变化,暂停转向播发状态时也是如此。l 下一曲按钮点击即播放下一曲,最后一首歌时自动播放第一首。3.2.3歌曲信息显示将获取的歌曲信息,将歌名,时间,歌

6、手的关键信息显示在手机界面上,并且当屏幕装不下时可以滑动手机显示,当点击歌曲所属行时,歌曲播放。3.2.4音乐播放服务实现歌曲的后台播放服务,能够实时相应各种控件对于歌曲播放的控制,并且当界面不可见或者界面切换时不会影响歌曲的播放,播放器退出时,歌曲自动停止。3.2.5 歌曲名称显示显示当前正在播放的歌曲名称3.2.6 控制组件l 进度条(SeekBar)进度条保证实时显示(10次/s),更新歌曲播放的进度。通过拖拽进度条可以完成对歌曲的进度的控制。l 播放模式按钮点击转换播放模式,并且图标改变,并伴随着提示。一共两种播放模式,全部循环以及单曲循环。l 上一曲按钮点击播放上一曲歌曲,如果当前是

7、第一曲,则自动播放最后一曲。l 播放/暂停按钮对当前歌曲进行播放/暂停控制。并且要求当播放状态时,点击暂停,并且按钮图标进行变化,暂停转向播发状态时也是如此。l 下一曲按钮点击即播放下一曲,最后一首歌时自动播放第一首。l 返回列表按钮点击返回到歌曲信息界面(跟当前界面的back键功能相同)。3.2.7歌词显示能够同步滚动显示当前的歌词。并且可以拖动歌词,从而查看其他的歌词。3.2.8 电话状态监听检测当前电话状态,如果是要拨打/接听电话的时候,音乐自动暂停,当电话挂断之后,重新播放歌曲。3.3 系统数据流程图3.4 数据流程说明 在流程图中出现的所有的模块,一共分为两类(1) 可见的控制模块(

8、2) 不可见的服务控制模块可见的控制模块与用户进行交互,调取相应的不可见的服务控制模块,从而实现对整个音乐服务的控制。数据流前提要求:每次进入新界面,需要对当前可见的模块的状态的更新,信息从Application的全局类中获取。每次通过控件去控制服务时都需要去更新全局变量。每个控件都处于等待用户操作状态歌词与进度条以及时间显示标签属于实时更新,全部属于一个线程当中。主要数据流程如下:进入软件主界面(歌曲信息界面)对当前各种组件进行更新根据用户操作完成对音乐播放服务的基本控制点击到歌词名组件时进入歌词界面对界面各种组件进行更新各种组件等待用户进行控制点击返回按钮返回上层进入软件主界面(歌曲信息界

9、面)对当前各种组件进行更新点击退出(back)弹出对话框杀死服务进程退出软件 3.5 界面布局设计布局1:软件主界面布局2: 歌词界面 3.6 界面切换描述点击在界面1下方的播放按钮旁边的歌词的显示,然后直接会跳转到歌词界面。4. 系统详细设计 4.1 结构设计l 文件结构1No.文件夹描述1src存放本软件的所有源代码appclass.java全局变量类AudioUtils.java音乐文件获取类LyricObject.java歌词类LyricView.java歌词显示组件类MainActivity.java主界面类MediaInfomation.java歌曲信息抽象类MusicServic

10、e.java歌曲播放服务类Play_Activity.java歌词界面类Play_Menu_Layout.java主界面中的控制组件类2genADT插件自动生成的代码文件保存路径以及资源IDBuildConfig.javaR.java3Android.4.2.2安卓版本4assert大型资源文件(暂无)5res本项目中所有的资源文件6res/drawable-hdpi所有的图标文件all.png 全部循环标志file.png返回歌单front.png上一曲icon0.png播放歌曲旁边的logolone.png单曲循环music_icon.png歌曲l图标next.png下一曲pause.pn

11、g暂停play.png播放7AndroidManifest软件信息以及各种权限的添加记录 4.2 函数设计4.2.1自定义抽象类l MediaInfomation类类名:MediaInfomation功能:将歌曲的各种信息封装成一个歌曲信息的抽象类。歌曲信息需要拥有的变量:参数类型解释filenameString文件名称titleString歌曲名称durationint总时长singerString歌手albumString专辑yearString年份typeString类型sizeString大小fileUrlString文件路径isMusicboolean是否是音乐l LyricObje

12、ct类 类名:LyricObject 功能:将每一行歌词封装成一个对象,方便引用 变量:参数类型解释begintimeint开始时间endtimeint结束时间timelineint单句用时lrclrc单句歌词l play_menu_Layout类3 类名:play_menu_Layout 功能:将歌曲列表的信息下面的功能条封装成了一个功能条,实现多个界面调用时可以重复使用。 该信息需要的变量:1 布局样式2 变量参数类型解释seekbarSeekBar显示歌曲进度以及控制歌曲进度play_menu_nameTextView当前选中歌曲的名称(具有跑马灯效果,点击可跳转界面)play_b_pl

13、ayButton播放/暂停按钮play_b_nextButton下一曲3 具体功能函数函数名功能public void setTextView(String name)设置当前播放歌曲的名称,并使之获得焦点4.2.2 appclass类4类名:appclass功能:(1) 存储整个播放器中的一些全局变量,用于各个界面的初始化以及更新组件使用。(2) 获得歌曲信息,并且将其封装以便于其他组件调用主要信息包含:参数类型解释mediainfomationMediainfomation歌曲列表LENGTH int当前歌曲时长(毫秒)CURENT int当前播放进度(毫秒)NOWACTIVITY int 当前显示的ActivityPOSITION int当前歌曲在歌曲列表中位置PLAYSTATE int当前播放状态(未播放/正在播放/暂停)PLAYMODEL int 播放模式(全部循环播放/单曲循环播放)具体函数功能:函数名功能public void onCreate()Activity创造函数,进行全部功能的调取,安排public v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号