单位android媒体播放器说明书附加源代码Word格式文档下载.docx
《单位android媒体播放器说明书附加源代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单位android媒体播放器说明书附加源代码Word格式文档下载.docx(87页珍藏版)》请在冰豆网上搜索。
![单位android媒体播放器说明书附加源代码Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2023-1/3/49fff2bd-8b1f-462c-badf-87d396b481f1/49fff2bd-8b1f-462c-badf-87d396b481f11.gif)
当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,WindowsMobile,Symbian,iPhone以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。
Android是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统[1],因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。
这使得越来越多的人关注这个操作系统。
本论文媒体播放器就是基于Android平台的。
随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了[2]。
于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。
针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:
还能播放RMVB格式的视频文件。
此外,还能支持中文、英文等语言界面。
要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。
目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。
播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。
由于现在市面上基于Android平台的手机媒体播放器明显有Bug,有的时候会自动快进,而且还会乱插入音乐,让用户得不到体验音乐的乐趣,此设计就此加以改进。
1.2本章小结
本项目是一款基于Android手机平台的媒体播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。
使人们的生活更加多样化。
也使设计者更加熟练Android的技术和其它在市场上的特点
2Android平台介绍
2.1Android基本情况
Android从诞生到现在也不过4年的时间,但是也就是在这短短的4年内Android创造了一个迅速被人们知晓并追捧的奇迹[3]。
2007年11月5日,Google与其他33家手机制造商(包含摩托罗拉、宏达电、三星、LG)、手机晶片供应商、软硬体供应商、电信业者所联合组成的开放手持装置联盟(OpenHandsetAlliance),发布了名为Android的开放手机软硬体平台[4]。
该联盟的成员宣布日后都会在Android平台上开发他们的新的业务。
不久之后的2008年9月24日,T-Mobile公司首度公布第一台Android手机(G1)的细节,同日Google也放出了AndroidSDK1.0rc1[5]。
这样Android进入了人们的视线。
Android以其特有的开放性优势越来越受到人们和智能手机厂商的关注。
2.2Android的构架综述
Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集[6]。
作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图:
图2.1Android系统构架
从图2.1中明显的可以看出该系统从下到上包括Linux内核层、Libraries和运行时环境层、应用程序框架层、应用程序层四层结构。
在Android的最下层的操作系统基于Linux2.6内核,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层[7]。
在Android构架中,可以很明显的看到,底层的Linux内核则采用的是C语言,libraries采用C或者C++,但是应用程序层、应用程序框架层和运行时环境中的Android核心库采用Java语言编写,也就是说Android虽然底层用的是C或者C++但是应用程序的开发则用的是Java。
Google采用这样的模式可能是因为相对于C或者C++,Java的开发周期更短的缘故,这样的话就能在短时间内为Android提供大量的应用软件。
我们知道,作为一个智能手机平台,只有拥有了大量的源源不断的应用程序作为支持,才能受人们的欢迎,从而才能占领市场。
2.3内核层
GoogleAndroid作为一个开源的操作系统其内核采用了同样开源的被业界认为是相当稳定的Linux作为其内核,其中Linux内核包括以下功能模块:
安全(Security)、存储器管理(MemoryManagement)、进程管理(ProcessManagement)、网络堆栈(NetworkStack)、驱动程序模型(DriverModel)等,另外也在给其上层的软件和下层硬件间建立起一个抽象层(AbstractionLayer)。
同时Android在Linux2.6的内核上进行了一些增加和删改,使Linux更加适应ARM平台。
⑴增加了一个基于ARM构架的GoldFish平台作为虚拟机的虚拟CPU。
⑵增加了YAFFS2FLASH系统文件,因此增加了对NANDFLASH支持。
⑶增加了Android相关的驱动。
例如Android的IPC(进程间通信机制)binder,使用这个能使运行的进程为其他进程提供服务;
Android的日志系统(Logger)和内存控制台(Ramconsole);
同时Google还重写了电源管理(Power)
⑷增加了新的共享方式Ashman(匿名共享内存),多个应用程序可以这种方式共享内存获取信息,为进程间提供大量共享内存,同时为内核提供回收和管理这个内存的机制。
2.4AndroidRuntime和函数库层
Android包含一些C/C++库,Android系统中的各种不同组件都能够使用这些库函数。
这些库函数通过Android应用程序框架为开发者提供服务[8]。
2.4.2AndroidRuntime
Android采用Java作为应用程序的开发语言,但是虽然使用的是Java语言,但是Google却没使用传统的JavaRuntime来执行应用程序而是采用Android自己特有的AndroidRuntime。
从Android的系统构架图中可以清楚的看到,AndroidRuntime由Android函数库(AndroidLibraries)和Dalvik虚拟机组成。
Android函数库中里包含了大部分Java程序语言所需要调用的函数库,如datastructure,network,utilities,filesystem等,其中很多代码是源于2005年的ApacheHarmony项目[9]。
这样做的话能够使Android的虚拟机的类库与JavaSE的类库有非常大的相似性,进而提高了JavaSE类库的兼容性,最大限度的降低了一个程序员从Java平台开发到Android平台开发的难度,这样就降低了对Android开发的准备时间以及前期培训的费用,从而降低了Android应用程序开发的周期以及开发费用,这样的话短时间内就能让GoogleAndroid系统能够拥有大量的可执行的应用程序。
另外,使用ApacheHarmony类库还能完全摆脱Sun的束缚而走上完全开源的Java之路,这样也奉行了Google对Android完全开源的原则。
2.5Android应用的组成
任何一个Android应用程序,都可由四个部分组成,这四个组成部分分别是:
①Activity;
②IntentReceiver;
③Service;
④ContentProvider。
对于一个应用程序来说,不一定这四个部分都需要[9]。
其中,Activity、IntentReceiver和Service是Android最基本的三个组件。
其实,这四个部分全部或者其中几个的相互协调工作组成了我们平时见到的应用程序。
在Android中每个应用程序都需要一个XML配置文件AndroidManifest.xml,该配置文件用于定义我们的应用程序组件和组件的功能以及一些必要条件等。
因此当我们使用到任何一个组件时都需要在这个配置文件中进行登记,否则就算是你在代码中使用了这个组件,但是Android系统也是找不到该组件的。
2.6Android开发工具
Android的上层应用程序是用Java语言开发的,同时需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开发环境Eclipse[7]。
有了Eclipse还不够,因为使用Java语言进行开发,应该有由SUN公司提供的JavaSDK(其中包含了JRE:
JavaRuntimeEnvironment)。
另外,Android的应用程序开发还是和Java开发有一定区别,所以还需有一个Google提供的AndroidSDK[10]。
有了这三个软件就可以开发Android应用程序了。
2.7本章小结
本章首先绍了Android的诞生及发展历史,从Android的构架、内核层、函数层以及Android系统的四大组件详细介绍了Android平台及其功能,最后简单解了一下Android的开发工具。
3Android的安装环境
3.1准备文件
(1)ADT-
(2)Android-sdk-windows-2.1_r3.zip
(3)
(4)Jdk-6u14-windws-i586,exe
3.2安装
运行Jdk-6u14-windws-i586,exe
按照安装界面的默认提示点击接受下一步下一步完成
检查JDK是否安装成功,打开CMD窗口,输入java–version查看JDK版本信息。
图3.1CMD版本界面
直接解压到指定目录如:
D:
\Android\eclipse
运行eclipse.exe,设置Workspace,指定一个开发目录给它就可以了.
看到如下界面,Eclipse安装完毕
图3.2eclipse.exe欢迎界面
android-sdk-windows-1.5_r3.zip
AndroidSDK同Eclipse一样,直接解压缩就可以,我把解压缩到文件夹D:
\Android中
将AndroidSDK中的tools绝对路径添加到系统PATH中。
打开“系统属性”选择“环境变量”
图3.3设置环境变量
添加环境变量PATH值为SDK中tools的绝对路径,如下图
图3.4环境变量设置
“确定”后,重新启动计算机。
重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行android–h如果有以下输出,表明安装成功。
AndroidDevelopmentTools(ADT)
打开EclipseIDE
进入菜单中的"
Help"
->
"
SoftwareUpdates"
图3.5ADT的安装
进入选项卡"
AvailableSoftware"
AddSite"
–>
Location:
"
输入
图3.6ADT升级的地址
勾选"
AndroidDDMS"
和"
AndroidDevelopmentTools"
,"
Install"
如下图所示:
图3.7ADT升级过程
图3.8选择ADT内容
一路Next,注意Accept许可,直到完成。
SDKLocation"
Window"
Preferences"
图3.9设定SDK
打开"
窗口,选中"
Android"
图3.10工程的建立
3.3本章小结
本章介绍了Android开发环境的搭建,环境的搭建分为四个步骤来完成:
(1)安装Java虚拟机sun-java6-jdk版本。
(2)安装Eclipse。
(3)安装AndroidSDK。
(4)安装AndroidADT插件。
最后设置AndroidSDKHome,这样Android环境就已经搭建成功。
4功能需求
根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。
以下分别描述:
4.1播放器的基本功能
图4.1播放器基本功能
表4.1播放器基本功能
用例名称
参与者
目标
前置条件
基本事件流
播放
用户
用户可以播放
在播放列表中
选中的歌曲
播放器正在
运行
用户单击“播放”按钮
播放器将播放列表中的当前歌曲
暂停
用户可以暂停
正在播放的歌
曲
歌曲正在播
放且未停止
和暂停
用户单击“暂停”按钮
播放器将暂停当前歌曲
停止
用户可以停止
放或暂停
用户单击“停止”按钮
播放器将停止当前播放歌曲
上一首/下一首
用户可以听上
一首或下一首
歌曲
用户单击“上一首或下一首”按钮
播放器将播放上一首或下一首歌曲
播放清单
用户可以进入
程序在运行
用户单击“清单”按钮
播放器进入清单列表
4.2播放清单
当用户选中列表中某一项歌曲,就有的需求:
图4.2播放器清单
表4.2播放器清单
使得程序播
放选中歌曲
程序运行在
播放菜单选
项中
播放器进入播放状态
详细
使得程序显
示歌曲详情
用户单击“详细”
按钮
显示歌曲详细状态
增加
使得程序进
入手机扩展
SD卡
用户单击“增加”
播放器进入手机扩展SD卡
移除/全部移除
使选中的歌
曲被移除
用户单击“移除/全部移除”按钮
播放器移除选中歌曲/全部移除歌曲
设定
入播放器设
定状态
用户单击“设定”
播放器进入设定
界面
4.3本章小结
本章从播放器基本功能以及播放器清单两个方面对播放器的功能需求进行论述。
根据用户的需求,我们可获得系统的基本需求,从不同的两个角度来描述系统的需求。
5播放器系统功能详细设计
5.1音乐播放器主界面功能实现
图5.1播放器主界面
Android的每一个可视化界面,都有其的唯一的布局配置文件,该文件里面有各种布局方式,和各种资源文件如图像,文字,颜色的引用,程序在运行时,可以通过代码对各配置文件进行读取。
这样就可以形成不同的可视化界面和炫丽的效果。
播放器主界面是一个Activity,Android工程在每个activity启动的时候会首先执行Oncreate()方法,如下代码:
PublicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
SetContentView(;
}
该方法主要执行界面的初始化操作,Activity有个设置布局的方法:
Context.setContentView(layoutResID),参数为资源ID,该Id在工程目录res/layout下,主界面布局文件名为playrack。
下面为play_rack.xml布局文件代码结构如下:
<
?
Xmlversion="
1.0"
encoding="
utf-8"
>
AbsoluteLayout>
LinearLayout>
/LinearLayout>
SeekBar>
/SeekBar>
/AbsoluteLayout>
在绝对布局<
下嵌套两种线性布局<
和<
,第一个<
实现了标题和歌曲名的显示位置,通过<
布局设置<
绝对坐标来控制标题的位置。
每个布局内可以放置多种Widget(窗体部件)例如:
TextView>
ImageButton>
等。
每个Widget内有多种属性,可以设置该Widget的坐标,大小,背景和颜色等参数。
在播放界面中,歌词显示为居中,实现方法代码如下:
LinearLayoutandroid:
orientation="
horizontal"
android:
gravity="
center"
android:
layout_height="
wrap_content"
layout_width="
fill_parent"
<
TextViewandroid:
android:
textColor="
#8deeee"
id="
@+id/lrcText"
/TextView>
<
属性:
:
此线性布局的子部件为水平方式布局Layout_width="
fill_content"
布局的宽度为填满父布局
Layout_height="
布局的高度子由窗体的大小决定
窗体TextView文本:
8deeee"
设置文本显示的颜色RGB为"
TextSize为默认大小
播放器音轨SeekBarAndroid系统自带SeekBar
图5.2
不管是从界面外观还是从功能上,系统自带的SeekBar往往不能满足用户的需要。
所以我在这里自定义了一个音轨SeekBar,
在play_rack.Xml配置文件中,SeekBar的代码如下:
SeekBarandroid:
@+id/seekbar"
245px"
20px"
layout_x="
40px"
layout_y="
260px"
progressDrawable="
@drawable/seekbar_style"
thumb="
@drawable/thumb"
paddingLeft="
18px"
paddingRight="
15px"
paddingTop="
5px"
paddingBottom="
progress="
0"
max="
100"
secondaryProgress="
上面代码中有参数android:
为音轨游标的图片资源android:
为SeekBar条的风格style。
引用了drawable中的seekbay_style.xml文件,seekbay