基于android平台的音乐播放器设计的开发与实现.docx
- 文档编号:11720367
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:41
- 大小:1.13MB
基于android平台的音乐播放器设计的开发与实现.docx
《基于android平台的音乐播放器设计的开发与实现.docx》由会员分享,可在线阅读,更多相关《基于android平台的音乐播放器设计的开发与实现.docx(41页珍藏版)》请在冰豆网上搜索。
基于android平台的音乐播放器设计的开发与实现
基于Android电话平台的音乐播放器
摘要
当今社会的生活节奏越来越快+Android系统上一的款音乐播放器应用程序的设计与实现进行讨论。
Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。
同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。
该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置.MP3的全名是MPEGAudioLayer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不作深究。
关键词:
Android;开源系统;linux;音乐播放器
ABSTRACT
Thepaceoflifeintoday'ssociety,withmoreadvancedhardwaremobiledevicesformobiledevices,peoplemoreandmoreisalsohigh,therequirementsfromthepreviouspursuittopursuethevisualtechnology,therefore,alsograduallyimprovethesystemrequirements,thepapermainlyistotakeonamusicplayerfromsystemdesignandrealizationoftheapplicationisdiscussed.Takethesystemisanopensource,itisbasedontheoperatingsystem,usetheLinuxmusicplayeroftheAndroidopen-sourcesystemtechnology,usingtheJavalanguageandeditingtoolsforplayerstoEclipse.Presentsthedetaileddesignprocess,thepartofthesystemandthemainfunctionsofoperationinterfacediagramofheight,thispaperalsoflowprocessproblemsandsolvingmethodsarediscussedindetail,andthemusicplayerepisode,pause,stopanda,next,volumeadjustment,lyricsdisplayfunctions,suchasperformanceisgood,canoperateindependentlyintheAndroidsystem.Thisplayerhasaccesstothefilebrowserphonefunctions,songsandplayedpattern,openandcloseconditionoffriendlywords.MP3AudioMPEGLayer-nameis3,isakindofsoundfilescompressedformat,becausetheplayerstoexplore,sotheapplicationprocedureforspecificcompressionalgorithmnotprobe
KeyWords:
Android;Opensourcesystem;linux;musicplayer
第一章引言
项目背景
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windowsmobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。
那么能否在手机上拥有自己编写的个性音乐播放器呢?
能的,谷歌Android系统就能做到。
本文的音乐播放器就是基于谷歌Android手机平台的播放器。
Android:
是谷歌于2007年发布的开放式源代码电话系统,它的开放性就优于其它封锁式的电话系统,因此,任何人都可能依照自己的喜好将电话系统中的所有功能从头编写。
这使得愈来愈多的人关注那个操作系统。
本次作品音乐播放器确实是基于Android平台的。
随着运算机的普遍运用,电话市场的迅速进展,各类音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部份了。
于是各类电话播放器也紧随着进展起来,可是很多播放器一味追求外观花哨,功能庞大,对用户的电话造成了很多资源浪费,比如CPU,内存等的占用率太高,在用户需要多任务操作时,受到了不小的阻碍,带来了许多不便,而关于大多数一般用户,许多功能用不上,形同虚设。
针对以上各类短处,选择了开发多语种的音频视频播放器,将各类性能优化,继承播放器的经常使用功能,知足一样用户(如听歌,看电影)的需求,除能播放常见格式的语音视频文件,高级功能:
还能播放RMVB格式的视频文件。
另外,还能支持中文、英文等语言界面。
要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。
播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
编写目的
现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个能够播放主流音乐文件格式的播放器,本设计的实现的这要紧功能是播放Mp3,Wav多种格式的音乐文件,而且能够操纵播放,暂停,停止,上一曲,下一曲,音量调剂,视觉外观,播放列表和歌曲文件的治理操作等多种播放操纵功能,界面简明,操作简单。
本项目是一款基于Android电话平台的音乐播放器,使Android电话拥有个性的多媒体播放器,使电话显得更生动灵活化,与人们更为接近,让电话主人随时随地处于音乐视频的旋律当中。
令人们的生活加倍多样化。
也使设计者加倍熟练Android的技术和其它在市场上的特点
第二章系统需求分析
功能需求(用例图分析)
依照项目的目标,咱们可取得项目系统的大体需求,以下从不同角度来描述系统的需求,而且利用用例图来描述,系统的功能需求,咱们分成四部份来归纳,即播放器的大体操纵需要,播放列表治理需求,播放器友好性需求和播放器扩展卡需求。
以下别离描述:
播放器的大体操纵需求
图播放器大体操纵图
用例名称:
播放
参与者:
用户
目标:
使得用户可以播放在播放列表中选中的歌曲
前置条件:
播放器正在运行
“播放”按钮
用例名称:
暂停
参与者:
用户
目标:
使得用户可以暂停正在播放的歌曲
前置条件:
歌曲正在播放且未停止和暂停
“暂停”按钮
用例名称:
停止
参与者:
用户
目标:
使得用户可以停止正在播放的歌曲
前置条件:
歌曲正在播放或暂停
“停止”按钮
用例名称:
上一首/下一首
参与者:
用户
目标:
使得用户可以听上一首或下一首歌曲
前置条件:
歌曲正在播放或暂停
“上一首或下一首”按钮
用例名称:
播放清单
参与者:
用户
目标:
使得用户可以进入播放清单
前置条件:
程序在运行
“清单”按钮
播放清单列表治理需求
当用户选中列表中某一项歌曲,就有的需求:
图播放器清单
用例名称:
播放
参与者:
用户
目标:
使得程序播放选中的歌曲
前置条件:
程序运行在播放菜单选项中
“播放”按钮
用例名称:
详细
参与者:
用户
目标:
使得程序显示歌曲详情
前置条件:
程序运行在播放菜单选项中
“详细”按钮
用例名称:
增加
参与者:
用户
目标:
使得程序进入手机扩展SD卡
前置条件:
程序运行在播放菜单选项中
“增加”按钮
用例名称:
移除/全部移除
参与者:
用户
目标:
使选中的歌曲被移除
前置条件:
程序运行在播放菜单选项中
“移除/全部移除”按钮
用例名称:
设定
参与者:
用户
目标:
使得程序进入播放器设定状态
前置条件:
程序运行在播放菜单选项中
“设定”按钮
播放友好性需求
图播放器设定
用例名称:
播放模式
参与者:
用户
目标:
使得程序进入播放模式设定状态
前置条件:
程序运行在播放器设定界面中
“顺序、随机、单曲”按钮
用例名称:
歌词显示
参与者:
用户
目标:
使得程序进入播放器歌词设置状态
前置条件:
程序运行在播设定界面
“歌词开关按钮”按钮
播放器扩展卡需求
图文件阅读器
用例名称:
SDcard
参与者:
用户
目标:
使得程序进入SDcard目录
前置条件:
程序运行目录界面
“Sdcard”选项
用例名称:
System
参与者:
用户
目标:
使得程序进入System目录
前置条件:
程序运行目录界面
“System”选项
功能需求(时序图)分析
音乐播放器的时序图分析如(图)
系统结构图和流程图
(1)音乐播放器的系统流程图(图)
图流程图
(2)系统功能表(表)和系统功能结构图(图)
功能类别
子功能
子功能
播放列表
播放列表菜单
退出播放
从扩展卡寻找歌曲
歌曲菜单
播放->进入播放界面
删除->数据库同步更新
重命名->数据库同步更新
向上、下移动->数据库同步更新
播放界面
播放
播放歌曲->线程启动->时间更新
暂停
暂停歌曲->线程暂停->时间暂停
停止
停止歌曲->线程停止->时间停止
上一首
播放列表索引变化->寻找上一ID歌曲
下一首
播放列表索引变化->寻找下一ID歌曲
播放界面菜单
返回到播放列表
返回到主菜单
从扩展卡寻找歌曲
退出播放器
隐藏播放界面
主菜单
退出程序
程序退出
进入播放列表
显示播放列表
表功能表
图系统功能结构图
系统界面需求
播放器界面要求布局合理,颜色舒适,操纵按钮友好,为了减少开发工程量,图片素材多数为公司项目素材(图)
图播放器界面
说明:
左下角为清单按钮右下角为程序退出按钮
蓝色条为音轨
系统性能需求
依照Android电话系统要求无响应时刻为5秒,因此就有如下性能要求:
(1)当要求歌曲播放时,程序响应时刻最长不能超过5秒
(2)当要求歌曲暂停时,程序响应时刻最长不能超过5秒
(3)当要求歌曲停止时,程序响应时刻最长不能超过5秒
(4)当要求歌曲上/下一首时,程序响应时刻最长不能超过5秒
(5)当要求进行清单列表时,程序响应时刻最长不能超过5秒
运行环境需求
操作系统:
Android电话基于Linux操作系统
支持环境:
Android-版本
开发环境:
EclipseADT
第三章Android数据库设计
数据结构组织和数据库文件设计要依照不同用途,利用要求等,来决定数据的整体组织形式等一系列问题。
数据库,顾名思义,是寄存数据的仓库。
只只是那个仓库是在运算机存储设备上,而且数据是按必然的格式寄存的。
数据库中的数据按必然数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性,而且能够被在必然范围内的各类用户共享。
在涉及数据库的软件开发中,需要依照有待解决的问题性质、规模,和所采纳的前端程序创建工具等,做出适合的数据库类型选择
数据库及字段属性设计
字段设计(表、图)
file_table主若是保留歌曲名字、类型、途径
字段说明:
Id歌曲id号fileName歌曲名字filePath歌曲途径sort歌曲类型(表、图)
Android自带一个MediaStore封锁类专门来存储媒体信息
通过UriEXTERNAL_CONTENT_URI来访问SDcard中的歌曲详细信息。
寄存媒体信息如TITLE(题目)、ARTIST(艺术家)、ALBUM(专辑)、SIZE(大小)(表、图)
属性
数据类型
允许空
主键
_Id
INTEGER
Notnull
Primarykey
fileName
TEXT
Notnull
filePath
TEXT
sort
INTEGER
表
属性
数据类型
允许空
主键
_ID
INTEGER
Notnull
Primarykey
TITLE
TEXT
Notnull
ARTIST
TEXT
ALBUM
TEXT
SIZE
LONG
表
图歌曲列表
图歌曲详细
音乐播放器E-R图
音乐播放器E-R(实体-联系:
entity-relation图)图(图)
图E-R图
数据库连接
那个地址将介绍如何进行Android数据库连接,Android中自带SQLite数据库,这是一个十分小型的数据库,如此正适合Android这种移动平台利用。
Android数据库存储的位置在data/data/<项目文件夹>/databases/目录下Android是利用ContentProvider作为内容提供商,SQLiteOpenHelper数据库帮忙类来进行对数据库的创建和操作。
通过()方式直接对数据库进行操作。
程序中数据库类为DBHelperextendsSQLiteOpenHelper(继承关系),内容提供类DBProviderextendsContentProvider(继承关系)
创建数据库
Android提供了标准的数据库创建方式。
继承SQLiteOpenHelper,实现onCreate和onUpgrade两个方式,有个益处确实是便于数据库版本的升级,连接数据库的算法如下:
publicDBHelper(Contextcontext){
4.1.1A2007年11月5日4.1.2A3G4.1.3A
ex的Dalvik可执行文件,该格式文件针对最小内存利用做了优化。
该虚拟机是基于寄放器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。
Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。
(5)Linux内核
Android的核心系统效劳依托于Linux内核,如平安性,内存治理,进程治理,网络协议栈和驱动模型。
Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。
以后进展 老牌智能电话软件平台制造商Symbian发言人那么表示:
Google的android只只是是另一个linux,symbian对其它软件与其形成的竞争并非感到担忧。
除北美之外,Symbian在其它地域智能电话市场都占有大部份市场份额。
与iPhone相似,Android采纳WebKit阅读器引擎,具有触摸屏、高级图形显示和上网功能,用户能够在电话上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他电话更强调搜索功能,界面更壮大,能够说是一种融入全数Web应用的单一平台。
但其最震撼人心的地方在于Android电话系统的开放性和效劳免费。
Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,冲破了iPhone等只能添加为数不多的固定软件的桎梏;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,如此可节省近三成本钱。
Android项目目前正在从电话运营商、电话厂商、开发者和消费者那里取得大力支持。
谷歌移动平台主管安迪·鲁宾(AndyRubin)表示,与软件开发合作伙伴的紧密接触正在进行中。
从去年11月开始,谷歌开始向效劳提供商、芯片厂商和电话销售商提供Android平台,并组建“开放电话联盟”,其成员超过30家。
市场前景 Google电话于08年10月22日正式上市,与运营商捆绑的合约价为179美元(约合人民币1200元),现有的T-Mobile用户能够通过网络订购。
在10月22日发布当天,将有22个国家和地域能够买到谷歌电话。
在11月,将增至27个国家和地域。
谷歌电话将只能在T-Mobile网络内利用,将会有SIM卡锁定限制。
T-MobileUSA提供了两种流量和短信近曝光的motosholes(也有人称之为mototao)将搭载最新的操作系统包月打算。
第一档为25美元,包括不限制的网络流量,和必然数量的短信;第二档为35美元,包括不限制的网络流量和不限数量的短信。
G1支持各类谷歌的效劳,包括Gmail、GoogleMaps、YouTube、Google日历和GoogleTalk,内置ChromeLite阅读器。
利用这款电话也需要Gmail账号。
“我爱死我的G1了!
”谷歌联合开创人拉里·佩奇(LarryPage)向往:
“关于我来讲,谷歌电话最兴奋人心的一点确实是它的以后。
它的功能很强,正如几年前的电脑一样。
你能够上网,安装软件。
” T-MobileUSA为德国电信旗下移动子公司,运营GSM/HSPA网络,拥有效户近3000万。
这次发布的谷歌电话采纳高通MSM7201A处置器,支持下载速度,美国运营商3G网络设定的套餐速度一样可达1Mbps以上。
MSM7201A为单芯片、双核,整合硬件加速多媒体功能、支持3D图形,300万像素的摄像功能能够扫描条形码,而且有GPS功能。
在美国四大移动运营商中,T-MobileUSA处于相对弱势的地位,只是T-Mobile在欧洲有更为强势的是CDMAEV-DO网络,而T-MobileUSA和苹果iPhone的独家运营商AT&T为GSM/HSPA网络,后者在2005年12月就推出了全世界第一个HSDPA商用效劳。
T-MobileUSA今年5月方才在纽约推出了3G效劳,目前已经在奥斯汀、巴尔的摩、波士顿、达拉斯、休斯敦、拉斯维加斯、迈阿密、明尼阿波利斯、凤凰城、波特兰、圣安东尼奥和圣地亚哥等12个城市增加了3G覆盖,公司打算年末前将3G覆盖的城市从目前的13个增加到27个,能够为其超过2/3的用户提供3G效劳。
4.1.4Android系统的四大组件
在Android系统中,为咱们提供了四大大体组件,每一个组件是一个视图,可是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。
下面别离介绍四大组件:
(1)Activity简介
在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。
多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。
Activity有自己的生命周期,由Android系统来操纵。
(2)Service简介
顾名思义Service确实是运行在后台的一种效劳程序,一样很少和用户交互,因此没有可视化界面概念一个Service类比较简单,只要继承Service类,实现其生命周期中的方式就能够够了。
一个概念好的Service必需在配置文件注册,通过
(3)BroadcastReceiver简介
BroadcastReceiver顾名思义广播接收器,它和事件处置机制类似,只只是事件处置机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处置机制是系统级别的。
到目前为止咱们能够利用Intent来启动一个程序组件,咱们还能够通过利用sendBroadcast()方式来发起一个系统级别的事件广播来传递消息。
咱们能够在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent
(4)ContentProvider简介
ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。
它是跨应用程序共享数据的唯一方法。
Android为经常使用的数据类型(如:
音视频、图片和联系方式等)提供了大量的ContentProvider。
它们被概念在包下面。
通过如此概念好的ContentProvider咱们能够方便的进行数据操作。
固然咱们必需拥有适当的权限。
咱们也能够自己来定ContentProvider共享咱们的数据,方便用户的访问
搭建Android开发环境
任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.
搭建开发环境需要的软件:
1.操作系统:
WindowsXP或Linux
2.软件包:
AndroidSDK(SoftwareDevelopmentkitJavaDevelopmentkit)、ADT(AndroidDeveloopmentTool)
3.IDE环境:
EclipseIDE+ADT以上
4.JDK:
JavaRuntimeEnvironment虚拟机、(JDK)JavaDevelopmentkit
安装步骤如下:
第一步:
安装Java虚拟机sun-java6-jdk版本
第二步:
安装工具官网选择版本(图):
进行安装
图
第三步:
安装AndroidSDK:
第一要下载SDK,能够在那个网址下载H,选择相应的系统进行安装
图
第四步:
安装AndroidADT插件
运行Eclipse,选择help->installnewsoftware选择add,将会弹出一个框
图
点击OK,选择要安装的软件,占next,然后选择同意协议,直到安装成功,重启Eclipse软件,设置AndroidSDKHome,Window->refrence
图
在SDKlocation中输入SDKTools途径:
D:
\androidsoftware\android-sdk-windows点击OK
如此Android环境就已经搭建成功了。
Android经常使用工具的利用
命令行的利用
创建AndroidVirtualDevices(AVD)
利用androidl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 平台 音乐 播放 设计 开发 实现