ImageVerifierCode 换一换
格式:DOCX , 页数:37 ,大小:217.26KB ,
资源ID:19793315      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19793315.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于安卓手机平台的视频播放器的设计与实现.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于安卓手机平台的视频播放器的设计与实现.docx

1、基于安卓手机平台的视频播放器的设计与实现江西师范大学2013届本科毕业设计题目:基于安卓手机平台的视频播放器的设计与实现Title:Design and implementation of the Android mobile phone platform video player学 号: * * * * 学 院: 物理与通信电子学院 专 业: 通信工程 * * 完成时间: 2012-4-6 答辩时间: 2012-5-10 摘 要 近年来,随着安卓智能手机的兴起,一款具有个性化的集通讯和娱乐消费为一体的视频播放器是消费者的一个主要需求。随着google推出的安卓手机不断更新,技术也不断的提升和

2、趋于成熟,设计一个好的贴近用户多功能的视频播放器也就变得非常有意义。 文中所介绍的视频播放器是基于安卓手机平台开发的一款多功能的播放器,实现了基本的播放,快进快退停止视频调节音量的功能,用户可以自由拖动那个进度条,调节屏幕缩放比列,设置屏幕背景,设置视频播放模式。任外还有任意级目录,播放列表有缩略图,并且能够排序,最重要的是该播放器还实现了查看天气预报的功能。 该视频播放器选用的开发环境是基于Eclipse和Android ADT 的java代码,使用了surface view控件,安卓四大组件,以及存放数据的sqlite数据库关键字:Android;视频播放器;安卓四大组件;Eclipse;

3、数据库Abstract In recent years, with the rise of android smartphones, a set with personalized communications and entertainment consumption as one of the video player is one of the main demand of consumers . As Googles android mobile phone constantly update, the technology is also constantly ascension a

4、nd mature, to design a good close to user multi-function video player also becomes very meaningful . In this paper, we introduced the video player is based on the android mobile phone platform to develop a versatile player, has realized the basic playback, fast forward retreat quickly stop video vol

5、ume control function, the user can drag the progress bar, free adjustment screen zoom ratio column, set the background screen, set the video playback mode. Level as there is any directory, playlist has a thumbnail, and the ability to sort, the most important thing is that the player also can realize

6、 the function to check the weather forecast The video player selects the development environment is based on Eclipse and Android ADT Java code, using the surface view controls, Android four major components, and sqlite database to store data Keyword: Android; Video player; Android four components; T

7、he Eclipse; The database 1 绪论 1.1 课题背景及意义近年来,随着安卓智能手机的兴起,一款具有个性化的集通讯和娱乐消费为一体的视频播放器是消费者的一个主要需求。随着google推出的安卓手机不断更新,技术也不断的提升和趋于成熟,设计一个好的贴近用户多功能的视频播放器也就变得非常有意义。对于Android智能手机的用户应该有视频播放器的实体应用。但绝大多数的视频播放界面比较单调功能相对较小。相对于那些非智能手机的优势不是很明显,例如,接口和非智能手机几乎是一样的,只是一些的视频信息的显示,而标识的播放列表显示预定的路径。但是,这已经无法满足消费者的要求。与WiFi局域

8、网流行的Android智能手机,如果不是在自己的播放器连接到网络上,例如,查看天气预报,视频播放器将变得过时。所以,做一个时尚的,炫目的界面,友好的,并提供更多功能的视频播放器也是非常有前途的。 这些年来,国内外的安卓开发主要是应用开发这一块,其中主要有为企业开发应用、游戏开发应用、开发通用应用。第一种开发者主要是规模比较大的IT公司,这些公司一般都会为自己的品牌或其他的品牌设计智能手机。除了需要为特有的系统做定制外,还要编写相应的系统定制的应用。第二种开发者主要是创业阶段的公司,他们一般通过对外国公司进行外包开发,或者通过google的移动广告的点击分成。这就是这一类开发者的盈利方式。第三种

9、开发者与第二种开发者很类似 。1.2 Android VideoPlayer的发展状况 现在手机厂商销售各种Android智能手机,内部有一个内置的视频播放器,用户可以不下载视频播放器,可以直接观看视频。但是,这些自带的播放器有一个共同的缺点是功能单一的界面比较单调,不够友好。所以就有很多Android开发者就想开发出一个界面友好、炫丽,功能强大的视频播放器。1.3 项目的主要工作和解决的问题 本课题的主要目的就是设计并且实现一个基于安卓手机平台的多功能视频播放器,了解安卓体系结构以及该播放器的设计与实现过程,以满足安卓手机用户的一些常见要求。本课题的主要内容有:(1)了解视频播放器所具有的的

10、一些常见需求,并且从功能和界面两方面全方位的分析用户需求。(2)在需求分析的基础上,进行一些系统上的设计以及模块的处理。(3)介绍这个基于安卓手机的多功能视频播放器的设计与实现过程,并且详细介绍一些关于该视频播放器的播放控制、系统实现、平台搭建和数据存储的思想。(4)描述一下自己在该视频播放器中的一些附加的功能以及在Android模拟器上播放媒体文件以及作品展示。2 Android 体系结构的分析2.1 Android 体系结构介绍2.1.1应用程序(Application) 在应用层和用户交互的层次结构,用户可见的应用程序,用户可以操作。这样的应用程序基本上是用Java语言中的独立的能够完成

11、一些功能的应用。 Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。开发 人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。2.1.2应用程序框架(Application Framework) 普通开发者可以使用Android基本应用程序使用的系统API,Android应用程序框架的各个模块和各种服务都是可以复用的,理解了这个机制,开发人员可以更好的easierdevelop优秀的android应用。开发过程中常用到的基本框架组件如下:(1)

12、软件包管理器(包管理),管理所有的安装在android系统内的应用。(2) 资源管理器顾名思义就是资源管理,大量的Android资源,包括图片,用户界面(布局XML),字体,颜色,标识UI组件等,可以被称为资源,这些丰富的资源,都是通过资源管理器来统一进行管理。(3)Window Manager(窗口管理),管理所有启动的窗口。(4)一组View(UI 组件),这些UI组件,包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。(5) Activity Manager(活动管理),活动管理控制

13、着应用的导航,管理着应用程序的生命周期,并且扮演着控制器的角色。一般的应用都是通过一个个Activity交互构成的,而每个Activity又类似于Windows应用中的一个wendow。 (6) Notification Manager(消息通知管理),不影响用户正常操作和使用设备时,状态栏上的提供提示信息,比如有短信来的时候,用户可以及时的看到状态栏上的信息,因为android自动会将这个消息提示在状态栏上,。(7) Location Manager(位置管理),用来管理地图服务的相关功能。 (8)Content Providers(内容提供者),听起来有点抽象,通俗的理解,Content

14、Provider 就是提供一种服务。应用程序之间可以通过这种服务实现数据的互相访问和共享。比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。 (9)Telephoney Manager(电话管理),用来管理有关的电话的相关功能。 2.1.3 库(Libraries)和运行环境(RunTime) 这部分内容开始涉及常见的应用的底层,普通的开发不直接操作在这一层上。这一层包含一个类库和运行环境:(1)OPENGL|ES,基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速,或者使用高度优化的3D软加速。(2) SQLite,QLite为所有的应用,提供

15、一个功能强大的轻量级关系数据库引擎。(3) Dalvik VM, android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。 (4) WebKit,一个最新的web浏览器引擎,WebKit用于支持Andiroid的浏览器或嵌入式web视图。(5)媒体库(Media Framework),基于OpenCore的PackeVideo,该库支持多种常见的音频和视频格式,同时支持静态图像文件。编码格式包括:AAC,H.264,MP3,PNG,MPEG4,JPG,AMR。(6)基本的2D图形引擎SGL。 (7) FreeType,位图(bitmap),适量(vector)字图显示支持。(8)

16、系统C库(libc),BSD集成系统标准C库(libc),它是专门为基于嵌入式Linux的设备定制。(9) Core Libraries ,该核心库提供了大部分的Java编程语言核心库的功能。 (10) Surface Manager 对显示子系统的管理,并且可以2D,3D图层的无缝集成多个应用程序。2.1.4 操作系统(OS) Android 的核心系统服务依赖于Linux 2.6 内核,操作系统为Android提供的服务包括: 1. 内存管理(Memory Management)2. 网络堆栈(Network Stack) 3. 进程管理(Process Management)4. 安全性

17、(Security)。 5. 驱动程序模型(Driver Model)包含以下这些常规的驱动程序: (1)Display Driver:显示驱动程序(2)Keypad Driver :键盘驱动程序(3)Camera Driver :摄像头驱动(4)WiFi Driver :无线网络驱动程序(5)Flash Memory Driver :快闪记忆体驱动器(6)Audio Driver :音频驱动程序(7)Binder(IPC) Driver :粘结剂(IPC)驱动器(8)Power Management :电源管理只有了解了android框架才能更好的使用android提供的功能和服务。所以如果

18、在android的整体框架这一方面有一定的了解后,对与理解android的一些机制和应用开发有很大的帮助,2.2 Android 应用程序的组成(1)Intent 在Android中,每一个行为都可以抽象为一个Intent。可以简单地把Intent理解为一个包含了数据的消息。Intent可以用于启动一个Activity或者Service,可以用于进程间的通信。事实上,应用程序的启动也是通过Intent实现的。(2)Activity 正如它的名字所暗示的,Activity就是活动。应用程序必须至少包含一个Activity。Activity提供了一个虚拟的用户接口,每一个Activity都有一个默

19、认的窗口可以被用来显示用户界面,在正常情况下,它是一个全屏幕窗口。例如,音频和视频播放软件用户界面就是Activity。 (3)Content providers Android平台建立了一个SQLite数据存储机制,并包含了一系列管理SQLite数据库的相关方法。正常情况下,应用程序不直接调用的内容提供者定义的函数,而是通过ContentResolver间接呼叫。这样设计的好处是ContentResolver可以访问任何的Content providers,并且统一了接口。在Android应用程序中可以通过Content providers访问数据库。每个Content provider都定

20、义了一系列的方法用于访问它对应的数据库。应用程序在新建数据库时也可以定义相应的Content provider用于向其他应用程序共享数据。(4)Service Service与Activity的主要区别在于,Service是在后台运行的,并且它也没有用户界面。例如通常情况下,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望视频或歌曲不会暂停,这时不能在Activity中调用播放器。而是用Service去调用播放器,2.3 Android 应用工程文件的组成 (1)src既源文件目录.(2)gen目录.包含R.java文件.它由Eclipse自动生成和修改,不

21、需要我们去维护.下面的res文件夹中发生的任意变化,R.java都会重新编译,一直保持同步.(3)android库.(4)assets目录.存放多媒体等文件.(5)res目录.存放应用用到的资源文件.(6)drawable目录,存放图片资源.分别为高中低三个分辨率.(7)layout目录.放置布局文件,均为.xml文件. (8)values目录.放置字符串(string.xml),颜色(colors.xml),数组(arrays.xml)(9)AndroidManifest.xml.应用的配置文件.我们要在这个文件中声明应用的名称,所有的Activity,Service,Reciver等3 基

22、于Android手机平台的多功能视频播放器的系统分析3.1 系统的可行性分析 可行性分析的任务,不是所有的问题都有简单明显的解决方案,其实,很多问题在系统规模的预定大小内不能得到解决。如果问题还没有一个可行的解决方案,然后就开始开发项目,那么开发项目时间,资源,人力和资金将造成是不必要的浪费。可行性研究的目的是用最小的代价在最短的时间,以确定问题是否可以解决。必须记住的可行性研究的目的不是为了解决问题,而是要确定它是否是值得的解决方案。如何达到这个目的呢?当然,不能依靠主观的猜想,依靠客观的分析。必须几个主要的可能的解决方案的利弊进行分析,以确定原来的系统目标和规模的现实,完成后系统的好处足够

23、大,以保证这个系统的投资和发展程度。因此,可行性研究本质上是一个大大压缩,简化了系统的分析和设计过程,这是在更高层次,更抽象的系统的分析和设计过程。该设计的可行性研究从三个方面:(1)运行可行性:系统需要Android的虚拟机环境,ADT,谷歌Android DDMS安装Eclipse插件。其经营环境已经相当稳定和丰富的功能,包括完整的编码,调试,测试和发布的Android应用程序,它支持所有的Android应用开发技术,包括SQLite的,Skia的3D制作,Android的XML,可以是一个很好的释放Android应用程序的APK包。(2)技术可行性:Eclipse中的Android AD

24、T的技术较为成熟,跨平台,推出由Sun(现在由本公司收购Orcel)动态Java语言开发。(3)法律上的可行性:由于是自主开发和设计的,所以它不会构成侵权,法律上是可行的。通过上述可行性分析,使用Eclipse的Android ADT的DDMS技术,使用了JAVA语言的系统开发。3.2 系统的需求分析3.2.1 系统设计的目标 通过分析用户需求以及自己对该视频播放器的全面分析,该系统应该具备以下功能:(1)能够在手机里播放视频文件。作为一个视频播放器,其核心就是能够流畅的播放手机硬件能够承载的视频流文件以及基本的播放控制。(2)能够在手机里面进入任意目录下找想观看的视频文件。 用户不需要输入想

25、看的视频的名字,只需要进入手机的任意级目录,选中自己喜欢的视频加载到播放列表中就可以了(3)能够对视频文件信息进行读取,存储。对视频文件的存储,读取主要是通过SQLite。SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。(4)播放列表。播放列表的设计,主要是方便用户观察哪个文件正在播放,以及方便用户直接点击播放列表中的文件来进行快速播放。(5)缩略图能够让视频更加的直观,便于用户选择(6)具有查看天气预报功能 能够查询当地三天内的天气情况3.

26、2.2系统设计的特点(1)与自带的播放器相比,拥有更炫丽友好的的界面。(2)能够从任意级目录选中自己想看的视频文件.(3)有缩略图和播放列表,方便用户使用。(4)有查看天气预报的功能4 系统开发环境以及硬件平台搭建4.1 系统开发环境Android 用的是Linux内核,本系统在开发过程中主要用到的就是当前Android应用层编程技术。因此在编程环境上的选择是Linux系统+Eclipse+java+Android SDK+Android Development Tools + SQLite。4.1.1 JAVA语言简介 Java是一种跨平台的应用软件可以写面向对象的编程语言,是在1995年5

27、月推出由Sun Microsystems的Java编程语言和Java平台(即JavaSE的总称的JavaEE,JavaME的)。由James Gosling和他的同事共同开发,并于1995年正式推出。在Java实现的HotJava浏览器(支持Java的applet)显示了Java的魅力:跨平台,动态的Web,互联网computing.Since然后,Java已经被广泛接受和推广网络的飞速发展,常用的浏览器支持Java applets 。另一方面,Java技术不断更新。 (2010年甲骨文收购SUN。Java编程语言起源于太阳的所谓“绿色”项目,旨在内置电器的分布式系统,电气更聪明的发展。 19

28、96年1月发布的JDK1.1版本,自那时以来世界的一种新的语言。 2002年2月,2004年10月版本1.5(5.0)1.6(6.0)版本发布于2006年12月发布的1998年12月发布1.2版本,1.4版本后,这是最新的版本。 Java1.2版是一个版本分为J2SE,J2ME,J2EE,J2SE版本的Sun Java技术的基础上创建和运行Java程序提供了最基本的环境,J2ME和J2EE的基础上成立的J2SE,J2ME开发用于嵌入式应用的运行时环境(如在手机上运行的Java程序),在J2EE的分布式企业应用程序的开发和运行环境。4.1.2 AndroidAndroid是一个自由和开放源码的基

29、于Linux的操作系统,主要用于移动设备,如智能手机和平板电脑由谷歌和开放手机联盟领导和发展。联盟的30多家技术和无线应用的领导者,包括中国移动,摩托罗拉,高通,宏达电和T-Mobile。 Android是一个真正开放的移动设备平台。与运营商,设备制造商,开发商和其他有关各方,形成一个深层次的合作关系,建立标准化,开放式的移动电话软件平台,在移动通信行业的一个开放的生态系统,这样的通用性和应用程序之间的连接将保持最大程度的影响。所有的Android应用程序是完全平等的。所有的应用程序正在运行的核心发动机的上方,核心引擎实际上是一个虚拟机,它提供一组API的应用程序和硬件资源之间的通信。撇开An

30、droid的核心引擎,所有其他的事情,“应用”。的Android打破了应用之间的界限,例如,开发人员可以结合当地的联系人,日历,位置信息,为用户创造全新的用户体验与Web上的数据。4.1.3 操作系统 Android操作系统的内核是Linux内核,典型的Linux循环和功能39此外,谷歌为了让Linux的移动设备上运行的修订和扩大的一个分支。 Android的去除了的本地Linux的X Window系统,不支持标准的GNU库,它允许在Linux平台上移植到Android平台的应用程序变得很困难40。帕特里克布雷迪在2008年,在谷歌I/ O讲话“解剖和生理学的一个Android的Android

31、 HAL架构图,并提出。 HAL*文件的形式存在的Android框架和Linux内核分开,这中间层使得Android的移动设备上实现更高的执行效率。这种独特的系统架构的Linux内核的开发者Greg Kroah-Hartman和其他内核维护者的一致好评。谷歌的Android内核开发自己的生产称为wakelocks移动设备的电源管理功能该功能是用于管理移动设备的电池性能,但功能还没有被添加到Linux内核的主线,开放和维护,因为Linux内核维护者向他们展示,谷歌是不是这个功能和代码的意图。 2010年2月3日,谷歌Android内核开发和Linux社区层次的发展是不同步的,Linux内核的开发

32、者Greg Kroah-哈特曼将Android的驱动程序从Linux内核“状态树”(“分期树”)上除去。 41在2010年4月,谷歌宣布,将发送两个开发人员加入到Linux内核社区,以返回到Linux内核。在2010年9月,Linux内核开发Rafael J.威索基的添加的修补程序使得的Android wakelocks可以很容易地合并与主线Linux内核。 2011年,Linus Torvalds的说:“Android内核和Linux内核最终将返回,但可能不是4-5年。4.1.4 Eclipse Eclipse是一个开放源代码的,基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,插件在组件用来构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具包(J

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

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