基于安卓手机平台的视频播放器的设计与实现本科毕业设计.docx
- 文档编号:11983735
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:46
- 大小:225.66KB
基于安卓手机平台的视频播放器的设计与实现本科毕业设计.docx
《基于安卓手机平台的视频播放器的设计与实现本科毕业设计.docx》由会员分享,可在线阅读,更多相关《基于安卓手机平台的视频播放器的设计与实现本科毕业设计.docx(46页珍藏版)》请在冰豆网上搜索。
基于安卓手机平台的视频播放器的设计与实现本科毕业设计
本科毕业设计
题目:
基于安卓手机平台的视频播放器的设计与实现
Title:
DesignandimplementationoftheAndroidmobilephoneplatformvideoplayer
毕业论文(设计)原创性声明
本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:
日期:
毕业论文(设计)授权使用说明
本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:
指导教师签名:
日期:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
摘要
近年来,随着安卓智能手机的兴起,一款具有个性化的集通讯和娱乐消费为一体的视频播放器是消费者的一个主要需求。
随着google推出的安卓手机不断更新,技术也不断的提升和趋于成熟,设计一个好的贴近用户多功能的视频播放器也就变得非常有意义。
文中所介绍的视频播放器是基于安卓手机平台开发的一款多功能的播放器,实现了基本的播放,快进快退停止视频调节音量的功能,用户可以自由拖动那个进度条,调节屏幕缩放比列,设置屏幕背景,设置视频播放模式。
任外还有任意级目录,播放列表有缩略图,并且能够排序,最重要的是该播放器还实现了查看天气预报的功能。
该视频播放器选用的开发环境是基于Eclipse和AndroidADT的java代码,使用了surfaceview控件,安卓四大组件,以及存放数据的sqlite数据库
关键字:
Android;视频播放器;安卓四大组件;Eclipse;数据库
Abstract
Inrecentyears,withtheriseofandroidsmartphones,asetwithpersonalizedcommunicationsandentertainmentconsumptionasoneofthevideoplayerisoneofthemaindemandofconsumers.AsGoogle'sandroidmobilephoneconstantlyupdate,thetechnologyisalsoconstantlyascensionandmature,todesignagoodclosetousermulti-functionvideoplayeralsobecomesverymeaningful.
Inthispaper,weintroducedthevideoplayerisbasedontheandroidmobilephoneplatformtodevelopaversatileplayer,hasrealizedthebasicplayback,fastforwardretreatquicklystopvideovolumecontrolfunction,theusercandragtheprogressbar,freeadjustmentscreenzoomratiocolumn,setthebackgroundscreen,setthevideoplaybackmode.Levelasthereisanydirectory,playlisthasathumbnail,andtheabilitytosort,themostimportantthingisthattheplayeralsocanrealizethefunctiontochecktheweatherforecast
ThevideoplayerselectsthedevelopmentenvironmentisbasedonEclipseandAndroidADTJavacode,usingthesurfaceviewcontrols,Androidfourmajorcomponents,andsqlitedatabasetostoredata
Keyword:
Android;Videoplayer;Androidfourcomponents;TheEclipse;Thedatabase
1绪论
1.1课题背景及意义
近年来,随着安卓智能手机的兴起,一款具有个性化的集通讯和娱乐消费为一体的视频播放器是消费者的一个主要需求。
随着google推出的安卓手机不断更新,技术也不断的提升和趋于成熟,设计一个好的贴近用户多功能的视频播放器也就变得非常有意义。
对于Android智能手机的用户应该有视频播放器的实体应用。
但绝大多数的视频播放界面比较单调功能相对较小。
相对于那些非智能手机的优势不是很明显,例如,接口和非智能手机几乎是一样的,只是一些的视频信息的显示,而标识的播放列表显示预定的路径。
但是,这已经无法满足消费者的要求。
与WiFi局域网流行的Android智能手机,如果不是在自己的播放器连接到网络上,例如,查看天气预报,视频播放器将变得过时。
所以,做一个时尚的,炫目的界面,友好的,并提供更多功能的视频播放器也是非常有前途的。
这些年来,国内外的安卓开发主要是应用开发这一块,其中主要有为企业开发应用、游戏开发应用、开发通用应用。
第一种开发者主要是规模比较大的IT公司,这些公司一般都会为自己的品牌或其他的品牌设计智能手机。
除了需要为特有的系统做定制外,还要编写相应的系统定制的应用。
第二种开发者主要是创业阶段的公司,他们一般通过对外国公司进行外包开发,或者通过google的移动广告的点击分成。
这就是这一类开发者的盈利方式。
第三种开发者与第二种开发者很类似。
1.2AndroidVideoPlayer的发展状况
现在手机厂商销售各种Android智能手机,内部有一个内置的视频播放器,用户可以不下载视频播放器,可以直接观看视频。
但是,这些自带的播放器有一个共同的缺点是功能单一的界面比较单调,不够友好。
所以就有很多Android开发者就想开发出一个界面友好、炫丽,功能强大的视频播放器。
1.3项目的主要工作和解决的问题
本课题的主要目的就是设计并且实现一个基于安卓手机平台的多功能视频播放器,了解安卓体系结构以及该播放器的设计与实现过程,以满足安卓手机用户的一些常见要求。
本课题的主要内容有:
(1)了解视频播放器所具有的的一些常见需求,并且从功能和界面两方面全方位的分析用户需求。
(2)在需求分析的基础上,进行一些系统上的设计以及模块的处理。
(3)介绍这个基于安卓手机的多功能视频播放器的设计与实现过程,并且详细介绍一些关于该视频播放器的播放控制、系统实现、平台搭建和数据存储的思想。
(4)描述一下自己在该视频播放器中的一些附加的功能以及在Android模拟器上播放媒体文件以及作品展示。
2Android体系结构的分析
2.1Android体系结构介绍
2.1.1应用程序(Application)
在应用层和用户交互的层次结构,用户可见的应用程序,用户可以操作。
这样的应用程序基本上是用Java语言中的独立的能够完成一些功能的应用。
Android本身提供了桌面(Home),联系人(Contacts),拨打电话(Phone),浏览器(Browers)等很多基本的应用程序。
开发人员可以使用应用框架提供的API编写自己的应用程序,普通开发人员要做的事情就是开应用层的程序提供该广大消费者使用。
2.1.2应用程序框架(ApplicationFramework)
普通开发者可以使用Android基本应用程序使用的系统API,Android应用程序框架的各个模块和各种服务都是可以复用的,理解了这个机制,开发人员可以更好的easierdevelop优秀的android应用。
开发过程中常用到的基本框架组件如下:
(1)软件包管理器(包管理),管理所有的安装在android系统内的应用。
(2)资源管理器顾名思义就是资源管理,大量的Android资源,包括图片,用户界面(布局XML),字体,颜色,标识UI组件等,可以被称为资源,这些丰富的资源,都是通过资源管理器来统一进行管理。
(3)WindowManager(窗口管理),管理所有启动的窗口。
(4)一组View(UI组件),这些UI组件,包括Button(按钮),EidtView(文本框),TextView(标签),List(列表)等等,灵活运用这些组件可以快速方便的创建良好的用户交互界面。
(5)ActivityManager(活动管理),活动管理控制着应用的导航,管理着应用程序的生命周期,并且扮演着控制器的角色。
一般的应用都是通过一个个Activity交互构成的,而每个Activity又类似于Windows应用中的一个wendow。
。
(6)NotificationManager(消息通知管理),不影响用户正常操作和使用设备时,状态栏上的提供提示信息,比如有短信来的时候,用户可以及时的看到状态栏上的信息,因为android自动会将这个消息提示在状态栏上,。
(7)LocationManager(位置管理),用来管理地图服务的相关功能。
(8)ContentProviders(内容提供者),听起来有点抽象,通俗的理解,ContentProvider就是提供一种服务。
应用程序之间可以通过这种服务实现数据的互相访问和共享。
比如通讯录的存储就使用了这种服务,其它应用也可以访问通讯录中存储的联系人信息。
(9)TelephoneyManager(电话管理),用来管理有关的电话的相关功能。
2.1.3库(Libraries)和运行环境(RunTime)
这部分内容开始涉及常见的应用的底层,普通的开发不直接操作在这一层上。
这一层包含一个类库和运行环境:
(1)OPENGL|ES,基于OpenGLES1.0APIs实现,该库可以使用硬件3D加速,或者使用高度优化的3D软加速。
(2)SQLite,QLite为所有的应用,提供一个功能强大的轻量级关系数据库引擎。
(3)DalvikVM,android平台的一个虚拟机,它相当于PC中Java的虚拟机JVM。
(4)WebKit,一个最新的web浏览器引擎,WebKit用于支持Andiroid的浏览器或嵌入式web视图。
(5)媒体库(MediaFramework),基于OpenCore的PackeVideo,该库支持多种常见的音频和视频格式,同时支持静态图像文件。
编码格式包括:
AAC,H.264,MP3,PNG,MPEG4,JPG,AMR。
(6)基本的2D图形引擎SGL。
(7)FreeType,位图(bitmap),适量(vector)字图显示支持。
(8)系统C库(libc),BSD集成系统标准C库(libc),它是专门为基于嵌入式Linux的设备定制。
(9)CoreLibraries,该核心库提供了大部分的Java编程语言核心库的功能。
(10)SurfaceManager对显示子系统的管理,并且可以2D,3D图层的无缝集成多个应用程序。
2.1.4操作系统(OS)
Android的核心系统服务依赖于Linux2.6内核,操作系统为Android提供的服务包括:
1.内存管理(MemoryManagement)
2.网络堆栈(NetworkStack)
3.进程管理(ProcessManagement)
4.安全性(Security)。
5.驱动程序模型(DriverModel)包含以下这些常规的驱动程序:
(1)DisplayDriver:
显示驱动程序
(2)KeypadDriver:
键盘驱动程序
(3)CameraDriver:
摄像头驱动
(4)WiFiDriver:
无线网络驱动程序
(5)FlashMemoryDriver:
快闪记忆体驱动器
(6)AudioDriver:
音频驱动程序
(7)Binder(IPC)Driver:
粘结剂(IPC)驱动器
(8)PowerManagement:
电源管理
只有了解了android框架才能更好的使用android提供的功能和服务。
所以如果在android的整体框架这一方面有一定的了解后,对与理解android的一些机制和应用开发有很大的帮助,
2.2Android应用程序的组成
(1)Intent
在Android中,每一个行为都可以抽象为一个Intent。
可以简单地把Intent理解为一个包含了数据的消息。
Intent可以用于启动一个Activity或者Service,可以用于进程间的通信。
事实上,应用程序的启动也是通过Intent实现的。
(2)Activity
正如它的名字所暗示的,Activity就是活动。
应用程序必须至少包含一个Activity。
Activity提供了一个虚拟的用户接口,每一个Activity都有一个默认的窗口可以被用来显示用户界面,在正常情况下,它是一个全屏幕窗口。
例如,音频和视频播放软件用户界面就是Activity。
(3)Contentproviders
Android平台建立了一个SQLite数据存储机制,并包含了一系列管理SQLite数据库的相关方法。
正常情况下,应用程序不直接调用的内容提供者定义的函数,而是通过ContentResolver间接呼叫。
这样设计的好处是ContentResolver可以访问任何的Contentproviders,并且统一了接口。
在Android应用程序中可以通过Contentproviders访问数据库。
每个Contentprovider都定义了一系列的方法用于访问它对应的数据库。
应用程序在新建数据库时也可以定义相应的Contentprovider用于向其他应用程序共享数据。
(4)Service
Service与Activity的主要区别在于,Service是在后台运行的,并且它也没有用户界面。
例如通常情况下,用户选择了一个播放列表开始播放后,离开了该用户界面(Activity),如果仍然希望视频或歌曲不会暂停,这时不能在Activity中调用播放器。
而是用Service去调用播放器,
2.3Android应用工程文件的组成
(1)src既源文件目录.
(2)gen目录.包含R.java文件.它由Eclipse自动生成和修改,不需要我们去维护.下面的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基于Android手机平台的多功能视频播放器的系统分析
3.1系统的可行性分析
可行性分析的任务,不是所有的问题都有简单明显的解决方案,其实,很多问题在系统规模的预定大小内不能得到解决。
如果问题还没有一个可行的解决方案,然后就开始开发项目,那么开发项目时间,资源,人力和资金将造成是不必要的浪费。
可行性研究的目的是用最小的代价在最短的时间,以确定问题是否可以解决。
必须记住的可行性研究的目的不是为了解决问题,而是要确定它是否是值得的解决方案。
如何达到这个目的呢?
当然,不能依靠主观的猜想,依靠客观的分析。
必须几个主要的可能的解决方案的利弊进行分析,以确定原来的系统目标和规模的现实,完成后系统的好处足够大,以保证这个系统的投资和发展程度。
因此,可行性研究本质上是一个大大压缩,简化了系统的分析和设计过程,这是在更高层次,更抽象的系统的分析和设计过程。
该设计的可行性研究从三个方面:
(1)运行可行性:
系统需要Android的虚拟机环境,ADT,谷歌AndroidDDMS安装Eclipse插件。
其经营环境已经相当稳定和丰富的功能,包括完整的编码,调试,测试和发布的Android应用程序,它支持所有的Android应用开发技术,包括SQLite的,Skia的3D制作,Android的XML,可以是一个很好的释放Android应用程序的APK包。
(2)技术可行性:
Eclipse中的AndroidADT的技术较为成熟,跨平台,推出由Sun(现在由本公司收购Orcel)动态Java语言开发。
(3)法律上的可行性:
由于是自主开发和设计的,所以它不会构成侵权,法律上是可行的。
通过上述可行性分析,使用Eclipse的AndroidADT的DDMS技术,使用了JAVA语言的系统开发。
3.2系统的需求分析
3.2.1系统设计的目标
通过分析用户需求以及自己对该视频播放器的全面分析,该系统应该具备以下功能:
(1)能够在手机里播放视频文件。
作为一个视频播放器,其核心就是能够流畅的播放手机硬件能够承载的视频流文件以及基本的播放控制。
(2)能够在手机里面进入任意目录下找想观看的视频文件。
用户不需要输入想看的视频的名字,只需要进入手机的任意级目录,选中自己喜欢的视频加载到播放列表中就可以了
(3)能够对视频文件信息进行读取,存储。
对视频文件的存储,读取主要是通过SQLite。
SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
(4)播放列表。
播放列表的设计,主要是方便用户观察哪个文件正在播放,以及方便用户直接点击播放列表中的文件来进行快速播放。
(5)缩略图
能够让视频更加的直观,便于用户选择
(6)具有查看天气预报功能
能够查询当地三天内的天气情况
3.2.2系统设计的特点
(1)与自带的播放器相比,拥有更炫丽友好的的界面。
(2)能够从任意级目录选中自己想看的视频文件.
(3)有缩略图和播放列表,方便用户使用。
(4)有查看天气预报的功能
4系统开发环境以及硬件平台搭建
4.1系统开发环境
Android用的是Linux内核,本系统在开发过程中主要用到的就是当前Android应用层编程技术。
因此在编程环境上的选择是Linux系统+Eclipse+java+AndroidSDK+AndroidDevelopmentTools+SQLite。
4.1.1JAVA语言简介
Java是一种跨平台的应用软件可以写面向对象的编程语言,是在1995年5月推出由SunMicrosystems的Java编程语言和Java平台(即JavaSE的总称的JavaEE,JavaME的)。
由JamesGosling和他的同事共同开发,并于1995年正式推出。
在Java实现的HotJava浏览器(支持Java的applet)显示了Java的魅力:
跨平台,动态的Web,互联网computing.Since然后,Java已经被广泛接受和推广网络的飞速发展,常用的浏览器支持Javaapplets。
另一方面,Java技术不断更新。
(2010年甲骨文收购SUN。
Java编程语言起源于太阳的所谓“绿色”项目,旨在内置电器的分布式系统,电气更聪明的发展。
1996年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版本的SunJava技术的基础上创建和运行Java程序提供了最基本的环境,J2ME和J2EE的基础上成立的J2SE,J2ME开发用于嵌入式应用的运行时环境(如在手机上运行的Java程序),在J2EE的分布式企业应用程序的开发和运行环境。
4.1.2Android
Android是一个自由和开放源码的基于Linux的操作系统,主要用于移动设备,如智能手机和平板电脑由谷歌和开放手机联盟领导和发展。
联盟的30多家技术和无线应用的领导者,包括中国移动,摩托罗拉,高通,宏达电和T-Mobile。
Android是一个真正开放的移动设备平台。
与运营商,设备制造商,开发商和其他有关各方,形成一个深层次的合作关系,建立标准化,开放式的移动电话软件平台,在移动通信行业的一个开放的生态系统,这样的通用性和应用程序之间的连接将保持最大程度的影响。
所有的Android应用程序是完全平等的。
所有的应用程序正在运行的核心发动机的上方,核心引擎实际上是一个虚拟机,它提供一组API的应用程序和硬件资源之间的通信。
撇开Android的核心引擎,所有其他的事情,“应用”。
的Android打破了应用之间的界限,例如,开发人员可以结合当地的联系人,日历,位置信息,为用户创造全新的用户体验与Web上的数据。
4.1.3操作系统
Android操作系统的内核是Linux内核,典型的Linux循环和功能[39]此外,谷歌为了让Linux的移动设备上运行的修订和扩大的一个分支。
Androi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 手机 平台 视频 播放 设计 实现 本科 毕业设计