基于android平台的视频播放器设计论文 .doc
《基于android平台的视频播放器设计论文 .doc》由会员分享,可在线阅读,更多相关《基于android平台的视频播放器设计论文 .doc(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、四川理工学院毕业设计 基于android平台的视频播放器设计学 生:徐东学 号:专 业:电气工程及其自动化班 级:2012.卓越指导教师:曾晓辉、刘兴忠 四川理工学院自动化与电子信息学院二O一六年六摘要:随着计算机科学和移动终端的不断发展,Android移动在终端已经成为了当今的主流,功能完善和性能优越的移动设备是用户优先选择的。因此开发出功能强大且界面美观的手机应用具有广阔的市场前景。本视频播放器是基于Android平台研究开发,具有完善美观的用户界面,除了基本的播放视频外,还能查看视频信息,视频的进度条的拖拽,手势调节屏幕亮度和声音大小。 本文设计的播放器采用Vitamio的视频解码器框架
2、,可以播放多种常见的本地视频格式,界面简洁美观。关键词:Android,Vitamio,视频,播放器Abstract:With the continuous development of computer science and mobile terminals, Android mobile terminal has become the mainstream of todays mainstream, functional improvement and superior performance of mobile devices is the user preferred. So it
3、has a broad market prospect to develop the mobile phone with powerful function and beautiful interface.The video player is based on Android platform research and development, with a perfect and beautiful user interface, in addition to the basic play video, but also to see the video information, the
4、progress of the video of the drag, gesture control screen brightness and loudness of the sounds.In this paper, the design of the player using Vitamio video decoder framework, you can play a variety of common video format, the interface is simple and beautiful.Key words: Android,Vitamio,Video ,player
5、目录摘要IAbstractII第1章 前 言11.1设计的目的及意义11.2国内外发展现状11.3 视频播放器概述2第2章 Android开发技术介绍42.1 Android的架构介绍42.2 Android平台上开发技术介绍62.2.1 Android四大组件62.2.2 组件之间的调用102.2.3 Android进程和线程112.2.4 Android界面构造132.2.5 开发工具Eclipse16第3章 视频播放器需求分析173.1 视频播放器概述173.2软件功能173.2.1 视频播放器界面173.2.2 性能要求193.3视频播放流程图19第4章 视频播放器的实现214.1 启
6、动界面214.2 列表界面224.3播放界面模块254.3.1 视频的播放254.3.2 控制菜单264.4 对话框界面294.5 其他界面模块294.5.1菜单自动隐藏模块304.5.2 Toast 界面模块304.6 退出界面304.7 本章小结31第5章 视频播放器的测试325.1解码能力325.2功能性测试335.3播放器的主观效果335.4 本章小结33第6章 结束语356.1总结356.2 问题和展望35致谢37参考文献38附录39第1章 前 言1.1设计的目的及意义随着当今科学技术的发展, 各种各样的应用被安装到移动电话上,比如视频电话,VOD视频,移动上网冲浪,在线阅读和资料共
7、享等。为了实现这些应用,移动电话的功能变得更聪明且智能,这也表明了移动互联网到了新时代。新时代的到来,需要一个强大的开发平台来支持,因此,智能手机操作系统技术和研究已成为最活跃的领域之一。由于如今的Android具有开放性,现在的Android系统已经应用于手机和平板电脑上,许多的商家已经将Android移植到高清播放机和智能电视设备上,通过这样的方式消费者会有更多的机会使用以电视作为屏幕的Android系统,这样就把视频播放器显得更为重要了。本课题研究设计了一个基于Android系统的视频播放器,以APK的形式安装在Android手机和平板中,本应用从系统的数据库读取视频信息,显示视频列表,
8、有相应的播放界面,查看视频信息的功能,视频比例的切换,相应的控制菜单,实现视频的删除功能和上一集下一集,以及手势控制播放界面的亮度和声音大小,应用操作简单功能全面,并且可以播放几乎是有的视频格式,让用户有良好舒适的体验。Android上面的视频播放器很多公司和个人都在开发,并且其中的一些播放器如Moboplayer、RockPlayer、RealPlayer、VPlayer等受到消费者的青睐,但是目前大多数播放器功能多样繁复,占用内存大,嵌入过多的广告使用户没有良好的用户体验,所以有必要开发出一款功能全面,操作简单,并且具有较强解码能力的视频播放器。1.2国内外发展现状Android是一种真正
9、意义上的开放型的并且不依赖于设备的移动设备综合平台,他包括用户界面、操作系统、中间件和应用的主要部分。伴随开放的架构和优秀的研发环境,使Android的手持设备得到充分利用,他能提供有吸引力的移动应用,并且没有任何以前的块移动的独家产业创新的障碍。Android有丰富的图形系统,这使得它易于开发多媒体应用和网络浏览器的工具。自Android问世以来,全球的开发者已经做出了超过100万个应用,国内外出现了许多相当不错的视频播放器。MoboPlayer,是由济南四叶草信息技术有限公司开发的,MoboPlayer需要在Android1.6或更高的版本上运行,MoboPlayer可以兼容更多的视频格式
10、,并且努力的实现了任何视频格式都可以直接放在手机上播放。VPlayer,最初由个人制作,后来组建了自己的团队。VPlayer是一款很较为流行的视频播放器,根据VPlayer的官方说明,其下载量已经超过了百万级,VPlayer的特点是支持多数格式的视频,启动后直接进入视频文件夹,就可是对视频进行播放,使用方便等。RockPlayer,是由上海的ChangeTec.h公司开发,RockPlayer是一款比较高性能的视频播放器,能支持多数的视频格式,具有个性化的UI布局和设计,可以和其云端的服务相配合,用户之间可以分享视频。RealPlayer,和PC上的RealPlayer是一样的,andriod
11、上的RealPlayer也是由RealNetworks公司研究开发的,能同时播放音乐、视频、照片、但是解码能力不是很全面。1.3 视频播放器概述本次设计是基于Java语言通过eclipse进行编写的嵌入式播放器开发,该播放器结构简单并且占用空间小,但功能齐全。实现目标:1.从手机数据库获取所有视频信息。2.播放mkv,flv,MP4,RMVB等常见格式的视频。3.实现删除视频文件的功能 。4.实现手势刷新功能 。5.实现播放界面全屏播放的功能。6.播放/暂停,上一集,下一集,手势实现音量/亮度的调节。正如我国资深嵌入式系统专家沈绪榜院士的预言,“未来十年将会产生头大小、具有超过一亿次运算能力的
12、嵌入式智能芯片”,将为我们提供无限的创造空间。总之“嵌入式微控制器或者说单片机就好像是一个黑洞,会把当今很多技术和成果吸引进来。中国应当注意发展智力密集型产业”。 嵌入式播放器的迅速发展,使影音播放对于用户更加的方便、适用和简单,具有非常广阔的市场发展前景,也是本次设计的根本。第2章 Android开发技术介绍2.1 Android的架构介绍 Android系统架构主要由5部分组成,分别是:Linux Kernel, Android Runtime, Libraries、Application Framework, ApplicationsError! Reference source not
13、 found.。如图2-1所展示的为Android总体架构图,其主要是对Android的总体架构和包含的模块做具体的介绍。图2-1 Android系统架构图(1)应用层(applications)Android应用层是由运行在Android设备上所有应用程序共同构成的(系统预装程序以及第三方应用程序)。Applications主要是留给开发者去开发,Android只提供了一些基本的原生应用,比如日历、电子邮件客户端、联系人、浏览器、地图、音乐播放器、视频播放器、SMS程序和其他设置等,所有应用都是基于Java语言编写而成,但是也支持通过JNI的方式实现C语言编写Error! Reference
14、 source not found.。(2)框架层 (Application Framework)Android 是开放的开发平台,能使Android开发者编制出极其丰富美观的应用程序。开发者可以灵活的利用设备硬件优势、运行后台服务、访问位置信息、向状态栏添加通知、设置闹钟等。所有应用程序本质都是一组服务和系统,包含如下的组成部分。视图(View) 提供丰富的、可扩展的视图集合,可以用于构建一个应用程序。包括列表、文本框、按钮、网格,或者是内嵌的网页浏览器。内容提供者(Content Providers)可使应用程序能够访问其他的应用程序(如:电话簿)的数据,或者共享自己的数据。通知管理器(N
15、otification Manager)可以使所有的应用程序能在状态栏显示自定义的提示或警告。活动管理器(Activity Manager)用于管理应用程序的生命周期,提供了通用的导航回退功能。资源管理器(Resource Manager)使应用能够访问非代码资源,比如本地图形、字符串和布局文件。(3)LibrariesAndroid包含了一个C/C+集合库,便于Android系统的各组件使用,开发者通过Android的应用程序框架(application frameworks)调用这些功能Error! Reference source not found.,下面列举其中的一些核心库:SQLi
16、te这是一个强大而轻量级的关系数据库引擎,所有的应用程序都可以引用。FreeType位图和矢量字体的渲染。3D库基于OpenGL ES 1.0APIs的实现,该库包含高度优化的3D软件光栅或使用3D硬件加速。SGL基本的2D图形引擎。LibWebCore新型的Web浏览器引擎,用于驱动Android浏览器和内嵌的web视图。界面管理用于管理和显示系统和多个应用程序的二维和三维图形层。媒体库基于PacketVideo的OpenCore ,这些媒体库支持播放和录制主流的音频和视频格式,也包括静态的图像文件,如MPEG4、H.264、MP3、JPG、PNG。系统C库标准C系统库(libc)的BSD衍
17、生,优化为基于嵌入式Linux设备。(4)Android 运行时(Android Runtime)Android 运行时是由两部分组成:Dalvik 虚拟机和 Android 核心类库。其中的核心类库提供了 Java 语言核心库所能使用的大部分功能,包括Java 对象库、网络通信、文件管理库等。 Dalvik 虚拟机则是提供Android 应用程序所需的运行环境,并负责动态解析执行应用、管理对象生命周期、分配空间等工作。Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理Error! Reference source not found.,Android 运行时可使得 An
18、droid 设备在本质上与一个移动的 Linux 区分开来。(5)硬件抽象层(HAL)硬件抽象层(HAL,Hardware Abstraction Layer)介于Libraries和内核层中间的,是抽象出来的一层结构。HAL 存在的目的是把Linux层与Framework 内核隔离开来,它使 Android 不会过度依赖 Linux 的内核,以此达到“内核独立”的目的。是对 Linux 驱动的封装,对上层服务提供了统一的接口,屏蔽了底层的实现细节。(6)Linux KernelAndroid是基于Linux2.6 提供的核心系统服务,比如:进程管理、内存管理、安全、驱动模型、网络堆栈。Lin
19、ux Kernel 也作为软件和硬件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务Error! Reference source not found.。分层的好处就是各 层各司其职,各层提供固定的SAP ( Service Access Point)努力达到高内聚、低祸合Error! Reference source not found.。2.2 Android平台上开发技术介绍2.2.1 Android四大组件在Android系统中,开发者可是使用公共的API以提高开发软件的效率,也就是使用别人开发的一个组件,这是Android系统的一个很有优势的特性,例如,当开发者编写的程序需要一
20、个ListView控件并且需要滚动时,如果别人已经开发此功能的组件,并且对外发布了供他人使用的组件,此时开发者可以在自己的程序中调用该组件,而不必自己再编写一个具有此功能的组件。在需要的时候Android会启动该组件,实现你需要实现的功能。Android应用程序从源码逻辑上可以分为四大组件,一个应用会由四大组件或者其中几个组成,四大组件分别是Activity ,BroadcastReceiver, Service和Content ProviderError! Reference source not found.Error! Reference source not found.Error!
21、Reference source not found.。1.Activity组件顾名思义,Activity就是活动。应用程序必须至少包含一个Activity。Activity为用户操作提供了一个可视化的用户界面。例如,一个Activity可用于展示应用的一个列表供用户选择,它可以是显示一些需要说明的文字与形象的图片。一个视频播放器应用程序可以包含一个显示视频信息列表的Activity,一个播放界面的Activity。虽然他们共同组成了一个应用,但是其中的每个Activity都和其它的保持相对的独立,每个Activity都有生命周期,Activity的生命周期如图2-2所示。图2-2 生命周期下
22、面对图2-2中的Activity的生命周期进行简单描述onCreate()当Activity第一次创建的时候调用,在这里进行程序的初始化设置,包括创建视图和绑定数据到列表等,如果有记录的状态,则此时会传入一个Activity的以前状态作为参数。onRestart()当Activity停止后,当被再次启动之前调用。onStart()当Activity刚要变为被用户所见的时候被调用。onResume() 在Activity与用户开始交互之前被调用,在此时Activity位于堆栈的顶部, 并且接受用户的输入。onPause当系统即将要启动另外的一个Activity时调用,该方法是用来使当前的Acti
23、vity暂停,该方法在短时间内完成,下一个Activity会在该方法完成后才会继续,当调用onResume()方法后,Activity回到前台。在调用onStop()方法后,当前的Activity变为用户不可见。onStop()当Activity即将为用户不可见时调用该方法,当一个Activity被销毁或者是另一个Activity回到运行状态时发生该方法的调用,调用onRestart()则是Activity再次回到前台和用户交互,调用onDestory()则是关闭当前的Activity。onDestroy()在销毁Activity前调用,该方法是Activity执行的最后的一个调用,这可能是发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于android平台的视频播放器设计论文 基于 android 平台 视频 播放 设计 论文
限制150内