APP下载

基于Android平台的手机音乐播放器的设计与实现

2014-03-18王玉凡

河北软件职业技术学院学报 2014年1期
关键词:播放器驱动程序箭头

王玉凡

(河北软件职业技术学院 软件工程系,河北 保定 071000)

0 引言

3 G的大规模商用促进了移动互联网的快速发展,智能平台在市场份额中处于稳步上升的地位。目前市场上流行的智能平台有Symbian、IOS、Android、WindowsMobile等,其中Android操作系统不但应用于智能手机,也在平板电脑市场急速扩张,因其具有网络集成性高、开源、用户体验好等优势,已经成为全球最受欢迎的智能手机平台[1]。

本文采用MVC架构模式,以Java语言作为开发语言,以ADT(Android Development Tools)为开发工具,以Eclipse作为集成开发环境,进行一种基于Android手机操作系统的音乐播放器设计和实现。整个系统更方便、高效。

1 Android体系架构介绍

Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、KeyApps、Middleware、Linux Kernel四个部分在内的全套手机解决方案。Android开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。

图1 Android体系结构

图1是GOOGLE官方给出的一张体系结构图[2],从该图中可以看出,Android的架构是由Linux操作系统、C/C++多种类库、基于寄存器的Dalvik虚拟机、应用程序框架以及关键应用程序构成的四层架构。最下面是Linux核心,Android的整个操作系统是基于Linux核心的,该核心的内容主要包括显示器的驱动程序,照相机的驱动程序,闪存的驱动程序,电源管理,进程管理,以及WIFI的驱动程序等,也就是说,Linux提供了操作系统最核心、最基础的功能。在Linux之上提供了一些Li braries,这些Librares是一些程序包,它们都是由C/C++编写的。这些程序包包括OpenGL、SQLite、Webkit、MediaFramework等。OpenGL,是一个3D开发的API,SQLite是一个小而全的轻量级的关系数据库,Webkit提供了开源浏览器的内核,MediaFramework是一个操作媒体的框架。在这一层还有一个Android RunTime(安卓运行时环境),安卓运行时环境跟Java运行时环境类似。除此之外,还包括一个GOOGLE开发的针对手机设备优化过的Jave虚拟机。在这层之上是应用程序框架(Application Framework)。应用程序框架提供了手机开发所需要的最基本的API,我们在开发应用程序时,都是基于Application Framework进行开发的(该层都是用Java开发的)。在这层之上就是Applications,也就是我们开发应用程序所用到的接口。

2 利用媒体播放类M ediaPlayer实现播放功能

对播放音频文件和流的控制是通过一个状态机来管理的。图2显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆代表MediaPlayer对象可能驻留的状态。箭头线表示驱动MediaPlayer在各个状态之间迁移的播放控制操作。图2中有两种类型的箭头线,由一个箭头开始的代表同步的方法调用,而以双箭头开始的代表异步方法调用。

图2 MediaPlayer状态模式图[2]

利用MediaPlayer实现播放功能有四个步骤:

第一步:MediaPlayer.reset( );复位操作,为以后的媒体播放做准备。

第二步:传入歌曲数据源,这里也是一个数据流MediaPlayer.setDataSource(String path);参数需要传一个路径,该接口类在收到路径后将其转化为数据源。

第三步:准备播放数据源,调用方法MediaPlayer.prepare( )。

第四步:MediaPlayer.start( );播放数据源,该数据源播放后不再与程序有关,需要用MediaPlayer.stop( )让其停止或者用MediaPlayer.start( )让其启动;歌曲数据源的获得可以放在数据库里,也可以放置在SDCard里[3]。

3 系统功能的实现

3.1 音乐播放器的视图层设计

Android应用程序的设计也采用了MVC模式,程序安装在Android操作系统相同版本的手机上,因为手机屏幕大小不同,分辨率不同,会出现不同的效果,所以如何把界面做得漂亮些也是一门学问。可采用两个线性布局的嵌套来实现界面,下面是视图层代码。

3.2 音乐播放器的控制层设计

利用Android的四大组件之一Activity来进行控制层代码的编写,音乐播放器实现的功能是当点击“播放”按钮时能播放音乐,点击“暂停”按钮时能停止正在播放的音乐,如果再点击该按钮又继续播放。如果音乐正在播放,点击“重播”按钮时能从头开始播放,点击“停止”按钮时就能停止正在播放的音乐。同时考虑到如果正在播放音乐时有电话接入,必须暂停播放后再响应电话,电话结束后再继续播放。这个功能我们利用Activity的生命周期函数onPause( )和onResume( )来控制就行[2]。下面是主要的控制层的代码。

4 音乐播放器的发布

本音乐播放器适合安装在Android 2.0以上版本的手机上。图3是在安卓虚拟机上的一个演示效果。

图3 音乐播放器的运行演示图

[1]赵书兰.Android经典应用[M].北京:电子工业出版社,2013.

[2]李佐彬.Android开发入门与实战体验[M].北京:机械工业出版社,2012.

[3]肖云鹏,刘宴兵,徐光侠.Android程序设计教程[M].北京:清华大学出版社,2013.

猜你喜欢

播放器驱动程序箭头
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
计算机硬件设备驱动程序分析
运载火箭
播放器背板注塑模具设计
基于MPC8280的CPU单元与内部总线驱动程序设计
寻宝历险记(6)
天地大转盘
妙用鼠标驱动