软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx

上传人:b****3 文档编号:3451385 上传时间:2022-11-23 格式:DOCX 页数:41 大小:1.28MB
下载 相关 举报
软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx_第1页
第1页 / 共41页
软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx_第2页
第2页 / 共41页
软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx_第3页
第3页 / 共41页
软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx_第4页
第4页 / 共41页
软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx

《软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx》由会员分享,可在线阅读,更多相关《软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx(41页珍藏版)》请在冰豆网上搜索。

软件工程毕业设计基于android的音乐播放器的设计与实现设计.docx

软件工程毕业设计基于android的音乐播放器的设计与实现设计

河北农业大学

本科毕业论文

 

题目:

基于Android的音乐播放器的设计与实现

摘要

当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本文主要是对Android系统上一款音乐播放器应用程序的设计与实现进行讨论。

Android是一个开源的系统,它底层是基于Linux的操作系统,本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图。

本文还对高度过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示等功能于一体,性能良好,在Android系统中能独立运行。

该播放器还拥有对手机文件浏览器的访问功能、歌曲播放模式、以及歌词开闭状态的友好设置.MP3的全名是MPEGAudioLayer-3,是一种声音文件的压缩格式,由于本播放器只限于应用层程序的探讨,所以对具体的压缩算法不作深究。

关键词:

Android;开源系统;音乐播放器

Abstract

Thepaceoflifeintoday'ssocietyisquickerandquicker,withmoreadvancedhardwaremobiledevicesformobiledevices,whichisrequiredmoreandmorehighfromthepreviouspursuittopursuethevisualtechnology,therefore,thepeoplealsograduallyimprovethesystemrequirements,thepapermainlyistotakeonamusicplayerfromsystemdesignandrealizationoftheapplication.

Androidisanopensourcesystem,itisbasedontheLinuxoperatingsystem,themusicplayerofthepaperadopttheAndroidopen-sourcesystemtechnologyandtakeadvantageoftheJavalanguageandeditingtoolstoEclipseplayers.Simultaneously,itgivesthedetaileddesignprocess,thepartofthesystemandthemainfunctionsofoperationinterfacediagramofheight,thepaperhasdetaileddiscussionsaboutproblemsandsolvingmethodsinflowprocess,themusicplayercoversepisode,pause,stop,up,next,volumeadjustmentandlyricsdisplayfunctionsetc,becauseofgoodperformance,itcanoperateindependentlyintheAndroidsystem.Thisplayerhasaccesstothefilebrowserphonefunctions,songsandplayedpattern,openandcloseconditionoffriendlywords.ThefullnameofMP3isMPEGAudioLayer-3andakindofsoundfilescompressedformat.Becausetheplayersisonlylimitedtotheexplorationofappliedprogram,itdoesn’tstudythespecificcompressionalgorithm.

KeyWords:

Android;Opensourcesystem;musicplayer

1绪论

1.1课题的背景和意义

现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放Mp3,Wav等多种格式的音乐文件,并且能够控制播放,暂停,停止,上一曲,下一曲,音量调节,视觉外观,播放列表和歌曲文件的管理操作等多种播放控制功能,界面简明,操作简单。

本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。

使人们的生活更加多样化。

也使设计者更加熟练Android的技术和其它在市场上的特点。

随着科技的进步,手机的功能也不断的得到丰富,从最早的“大哥大”到现在的商务PDA手机,智能手机,音乐手机等等,功能也从单纯的打电话发展到了发短信,听歌,上网手机和我们生活的联系越来越紧密,手机的功能也是很多人们关注的焦点。

目前手机的音乐播放功能已经是大家比较关注的一个部分了,不少在人在购买手机的时候都会关心手机的音乐播放的能力,这也足以看出目前大家对音乐播放功能的重视,所以一款性能良好的手机音乐播放器软件一定会受到欢迎。

和传统的音乐播放器相比,手机播放音乐更加的容易携带,其他方面也都不输于传统音乐播放器,而且还具有网上听音乐功能,所以开发一款受欢迎的手机音乐播放软件是具有良好的市场和应用前景的[1]。

一款专业的音乐播放软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个自带的音乐播放软件,通过软件可以对音乐欣赏中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的手机音乐播放软件,来满足不同用户的不同要求。

不同手机平台的手机,所支持的音乐播放软件也是各不相同,而现在最流行的手机平台就是Google的Android手机平台,所以本课题就致力于开发出一款基于Android手机平台的音乐播放器,来满足用户的使用需求[2]。

1.2国内外现状分析

首先简单的介绍一下Google的Android。

Android原本是一家独立的手机操作系统公司,2005年被Google收购。

2007年11月,Google宣布推出基于Linux的Android开放式手机操作系统,沿袭至今,已发展到4.4版本。

此系统的“开放”尤其体现在任何手机制造商均可无需支付专利费即可将此系统运用在自己的手机。

Google的以Linux为内核的Android移动手机平台从诞生之日起短时间内便在世界范围里获得了广泛的关注。

最近的报告显示在中国,一个拥有最大的人口,拥有最多的手机用户,拥有巨大的增长潜力的国家,这个系统的占有率沿着一个倒抛物线的增长曲率成为手机操作系统中的霸主。

同时国外的Android市场也正在如日中天的扩展,据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到68%,超过苹果iPhone,苹果iPhone约为21%,相信在不久的将来会有更多的用户选择Android系统的手机或是无线终端设备[3]。

国内目前中国移动、LG、三星、华为、等正在积极筹备Android产品和相关的电子市场,3G时代的到来,给中国企业追赶国际厂商带来了腾飞的机会,据预测亚太区域将来会占据全球Android市场中最大的收入份额。

目前手机的音乐播放功能已经是大家比较关注的一个部分了,不少人在购买手机的时候都会关心手机的音乐播放的能力,这也足以看出目前大家对音乐播放功能的重视,所以一款性能良好的手机音乐播放器软件一定会受到欢迎。

和传统的音乐播放器相比,手机播放音乐更加的容易携带,其他方面也都不输于传统音乐播放器所。

 

一款专业的音乐播放软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个自带的音乐播放软件,通过软件可以对音乐欣赏中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以就出现了各种各样的手机音乐播放软件,来满足不同用户的不同要求。

不同手机平台的手机,所支持的音乐播放软件也是各不相同,而现在最流行的手机平台就是google的android手机平台。

 

Android播放器是近年来手机当中比较流行的音乐播放软件.通过结合自己所学的知识来设计和开发Android音乐播放器,可以深入学习Android多媒体框架结构和多媒体框架核心Open core,并通过对Open core的学习进一步的认识和理解Android多媒体播放机制,而且还可以在开发软件实物的过程中,熟悉软件开发流程,掌握Android领域小应用开发的方法,学习新的计算机知识,丰富自己的知识面。

 Android平台是完全开放的平台,智能手机里的各种应用软件也越来越完备,在Android平台设计和开发一款音乐播放器可以摆脱不够智能音乐播放器的因素,并且具有很广阔的前景[4]。

 

在Linux上流行的播放器有多种主要有Xmms,RealPlayer,Xmovie,QuickTime,Mplayer等,以下对这些播放器进行分析介绍。

 

(1)Xmms 

Xmms是X-Window系统下最流行的多媒体播放器之一,大多数Linux版本都捆绑了改产品最为Linux下的标配音频播放器,Xmms可以播放MP3、MOD、Wav等多媒体文件,而且只要提供相应的插件,它还可以支持而更多的多媒体类型。

(2)Xmovie 

Xmovie最早是作为电视节目的播放软件。

它的播放界面非常简单。

界面上除了播放、快进、快退、播放时间显示和播放进度显示这几个主要功能外,没有其他控制功能。

界面上方的选单条不含有任何播放控制功能,基本上都是对播放画面的调整和环境变量的控制。

Xmovie支持mpg,mov,vob,m2v等视频格式,同时它还能够播放MP2和MP3音频格式的文件。

 

(3)RealPlayer 

RealPlayer在低带宽下支持音频、视频多媒体的低损失传输,同时具有优秀的流媒体在线播放能力。

RealPlayer for Linux版本的操作界面与其Windows平台下的版本类似。

RealPlayer的后续版本增加了对微软视频和音频的支持,并支持便携式设备。

 

(4)QuickTime 

QuickTime是苹果公司开发的流式音视频解决方案,也是出现较早的流媒体文件格式之一,它由三个不同部分组成:

QuickTime Move(电影)文件格式,QuickTime媒体抽象层、QuickTime内置媒体服务系统。

这类文件扩展名通常是.mov,它所对应的播放器是“QuickTime”。

 

(5)MPlayer 

MPlayer是Linux上的电影播放器,它的功能十分强大,能够播放众多格式的文件。

MPlayer能使用众多本地的Xanim,RealPlayer和Win32DLL边解码器,播放大多数MPEG、VOB、AVI、OGG、ASF/WMV等文件,也能播放Video CD、SVCD、DVD和DivX格式的电影。

MPlayer的另一个大的特色是支持广泛的输出设备,它可以在Xll、Xv、DGA、OpenGL、SVGAlib等下工作[5]。

 

目前,媒体播放器主要趋向以下几个方向:

首先,支持多样化格式。

Xmms、Xmovie、QuickTime主要是针对固定的媒体格式类型或传输协议,具有一定的专用性,因此难以满足广大消费者的的需求,如今的音频,视频格式越来越多,如常见的音频WMA,MP3,MIDI以及视频的RM,AVI等。

如何能将能播放所有这些,是现今研究的方向。

其次,可扩展性也是一个必要的趋势,如今的播放器功能越来越强大,如何在现有的基础上使功能更全面,也是人们接受的一个因素。

这就是本课题选用开放式Android平台的一个原因,代码完全公开,为其功能扩展提供方便的条件

1.3 论文组织结构

本文的主要内容是研究、分析和实现基于Android手机平台的音乐播放器系统,包括以下几个部分:

第一章简要介绍了Android手机平台的背景及国内外发展情况。

第二章主要写了本程序的可行性及需求分析。

第四章主要叙述了Android项目,搭建Android开发环境及音乐播放器的工程。

第五章主要写了播放器主界面的实现及读取SD卡部分的实现。

2相关技术介绍

2.1Android简介

Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。

目前最好的是Android2.0的摩托罗拉DroidAndroid是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为“安致”),后由开放手机联盟(OpenHandsetAlliance)开发。

它采用了软件堆层(softwarestack,又名以软件叠层)的架构,主要分为三部分。

低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。

另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。

Android在未公开之前常被传闻为Google电话或gPhone。

大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。

到了2010年1月,Google开始发表自家品牌手机电话的NexusOne。

目前最新SDK版本为Android2.1[6]。

2.1.1AndroidFeatures特性

Android系统有如下的几大特性:

(1)应用程序框架支持组件的重用与替换

(2)Dalvik虚拟机专门为移动设备做了优化

(3)内部集成浏览器该浏览器基于开源的WebKit引擎

(4)优化的图形库包括2D和3D图形库,3D图形库基于OpenGLES

(5)SQLite用作结构化的数据存储

(6)多媒体支持包括常见的音频、视频和静态印象文件格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)

(7)GSM电话(依赖于硬件)

(8)蓝牙Bluetooth,EDGE,3G,andWiFi(依赖于硬件)

(9)照相机,GPS,指南针,和加速度计(依赖于硬件)

(10)丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件

2.1.2Android基本框架

(1)Applications

ApplicationAndroid会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。

所有的应用程序都是用JAVA编写的。

(2)ApplicationFrameWork

开发者完全可以访问核心应用程序所使用的API框架。

该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。

该应用程序重用机制使得组建可以被用户替换。

所有的应用程序都由一系列的服务和系统组成,包括:

可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至包括一个可嵌入的web浏览器。

内容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layoutfiles)。

通知管理器(NotificationManager)使得应用程序可以在状态栏中显示客户通知信息。

活动类管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。

(3)Libraries库

Android包括一个被Android系统中各种不同组件所使用的C/C++库集。

该库通过Android应用程序框架为开发者提供服务。

以下是一些主要的核心库:

系统C库一个从BSD继承来的标准C系统函数库(libc),专门为基于embeddedlinux的设备定制。

媒体库-基于PacketVideoOpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。

SurfaceManager-对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。

LibWebCore-一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。

SGL-一个内置的2D图形引擎

3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。

FreeType-位图(bitmap)和向量(vector)字体显示。

SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

(4)AndroidRuntime  

Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

Dalvik是针对于同时高效地运行多个VMs来实现的。

Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。

该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。

Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。

(5)Linux内核

Android的核心系统服务依赖于Linux2.6内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。

Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。

但其最震撼人心之处在于Android手机系统的开放性和服务免费。

Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了IPhone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。

Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持[9]。

2.1.3Android系统的四大组件

在Android系统中,为我们提供了四大基本组件,每个组件是一个视图,但是有些是可见的,有些是不可见的视图,像Activity,ContentProvider是可见的视图,Service和BroadcastReceiver是不可见的,它们只在系统的后台运行。

下面分别介绍四大组件:

(1)Activity简介

在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。

多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。

Activity有自己的生命周期,由Android系统来控制。

(2)Service简介

顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以了。

一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过元素声明才能使用.Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService方法来绑定一个存在的Service。

(3)BroadcastReceiver简介

BroadcastReceiver顾名思义广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别的(例如,某个按钮的单击事件),而广播事件处理机制是系统级别的。

到目前为止我们可以使用Intent来启动一个程序组件,我们还可以通过使用sendBroadcast()方法来发起一个系统级别的事件广播来传递消息。

我们可以在你的应用程序中实现BroadcastReceiver来监听和响应这些广播的Intent。

(4)ContentProvider简介

ContentProvider用来保存和检索数据,并且使应用程序之间相互访问数据成为可能。

它是跨应用程序共享数据的唯一方法。

Android为常用的数据类型(如:

音视频、图片和联系方式等)提供了大量的ContentProvider。

它们被定义在android.provider包下面。

通过这样定义好的ContentProvider我们可以方便的进行数据操作。

当然我们必须拥有适当的权限。

我们也可以自己来定ContentProvider共享我们的数据,方便用户的访问[10]。

2.2搭建Android开发环境

任何事物要运行,都要有它的环境,Android也有它的环境才能够运行,下面介绍Android的开发环境配置.

2.2.1安装JavaJDK

安装JavaJDK1.6,并配置以下三个环境变量:

变量名:

JAVA_HOME

变量值:

C:

\ProgramFiles\Java\jdk1.6.0_10

变量名:

Classpath

变量值:

.;%JAVA_HOME%\lib;

变量名:

Path

变量值:

C:

\ProgramFiles\Java\jdk1.6.0_10\bin;

图2-1环境变量

2.2.2安装SDK模拟器 

首先要下载SDK,可以在这个网址Http:

//,选择相应的系统进行安装。

在“AndroidSDKandAVDManager”窗口的左侧选择“Settings”,如遇到“FailedtofetchURL…”的错误,那么需要将HTTPS方式改为HTTP方式。

图2-2“AndroidSDKandAVDManager”窗口

下载安装插件,选则installedpackages,点击updateall,然后等待安装,有的插件较大,所以时间较长。

图2-3安装界面

添加模拟器

图2-4添加界面

点击new,点击安装,成功后就可以启动模拟器。

图2-5模拟器界面

点击launch,就可看到成功启动模拟器。

2.2.3管理SD卡文件

SD卡是个镜像文件,大小

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1