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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于Android的视频播放器的设计与实现毕业论文Word格式.docx

1、This paper introduced the design ideas, design scheme, system architecture and project engineering structures of video player. The feasibility and requirements of system were analyzed in detail. The system function and each module were explained. The main Activity of the program are described and an

2、alyzed in detail including the using layout file, as well as the role of each control. Finally, I made the test for the program including the functions of each implemented modules. In order to observe whether the program should function properly and find the problems that may exist in the program, m

3、any screenshots were saved to demonstrate the test results. The developed program has a friendly interface and can be operated relatively easy, which has achieved the design requirement.KEY WORDS: Android; Video Play; Activity; Mediaplayer第一章 绪论1.1课题的来源及意义在这个信息化的时代, IT业已经成为世界发展的主流,我们对信息技术的依赖远远超过了对我们

4、自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。正因为如此,各种各样的软件层出不穷,我们的生活也因为各种各样的软件变的更有滋有味。不缺乏娱乐性,也不缺乏教育意义,让我们从这些软件中受益匪浅,使我们看到了相比以前的巨大进步。同时,随着科技的发展,计算机越来越精致,手机也越来越智能化,所以我们的依赖性也越来越大,越来越离不开这些给我们提供日常信息的工具。手机也已不再仅仅是简单的人与人通话的工具,而是在很大程度上成为了我们获取信息的一个更好的渠道。一个好的软件,能够标志一个手机品牌的地位。所以,开发一款好的手机软件是相当必要的。以前我们看电影,看视频,都要去电影院或者是影吧,

5、而且时间有限,很不方便;而现在是在电脑上或者手机上看视频,看小说,文档等等。以此看来,一个好的手机视频播放器软件的开发是相当有必要的。作为集通讯与娱乐消费为一体的智能手机,播放器是其中一个必不可少的重要功能,一个贴近用户,方便用户的多功能的播放器也是用户所渴望的,更是开发人员应当致力于的。随着Google推出的Android手机的不断更新换代,技术方面也日趋成熟,一个良好的视频播放器的设计与实现已经成为可能。目前,作为Android的手机用户而言,都有视频播放器的实体应用。但是,对于绝大多少而言,其界面单调,功能单一。比如,界面与其他非智能的手机没有大的区别,而功能上面,也就除了基本的播放控制

6、流程之外,多上一个视频基本信息的显示,同时加上一个对预设定路径的播放列表的展示。因此,开发一款界面友好、炫丽、功能更多的视频播放器,更好的贴近用户,满足用户需求,其应用前景也是相当乐观的。1.2 Android发展现状及前景Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。

7、随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2012年11月数据显示,Android占据全球智能手机操作系统市场76%的份额,中国市场占有率为90%。由此可见,Android占有非常可观的市场前景。具有开源特性的Android平台打破了之前Symbian、Windows mobile等操作系统收取高额授权费用的模式,使得智能手机成本大大的降低。而正是

8、由于它开放源代码,使得手机产生更多个性化的应用。同时,合作方能够在这里得到利润或者创造价值,手机软件行业得到维护协调发展。以Google、苹果和诺基亚为中心各自形成的生态链将以原来数倍的速度推动移动互联网的发展,这正是Google发布Android平台的意义,也是Android平台存在的使命所在。作为Android平台成员之一的中国移动也投资成立了一家通讯公司,专门从事G oogle手机软件的应用以及本地化的软件的开发,比如将在Google手机平台上添加飞信、 输入法等一系列符合国内用户使用特色的功能。国内众多企业也将眼光投入到Android上面,并启动了相关的计划来深入的理解并发展Andro

9、id。更多的手机软件开发企业已经或者筹备着将公司进行转型,从其他方向的开发转向到Android的开发。由此可见,无论是在国内还是在国外,Android平台对手机软件行业和移动手机平台 将发挥极大地推动作用,而在未来的几年时间里,Android将越发的凸显自己的重要性1。目前国内的Android开发还是主要以应用开发为主,主要分成3类:为企业开发应用、开发通用应用(放到Android Market或者其他App Market销售)以及游戏开发(放到Android Market或者其他App Market销售)。第一类开发者一般身处规模较大的公司,这些公司主要为自有品牌或者其他品牌设计手机或者平板

10、电脑的总体方案。除了根据需求对系统进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型公司或者是独立开发者,他们的盈利方式主要是2种:为国外公司进行外包开发,或者通过Google的移动广告(AdMob)通过广告点击分成。而理论上的通过付费下载的形式来盈利的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似3。1.3项目的主要工作和解决的问题本课题的研究目的就是要通过对基于Android的多功能视频播放的系统设计与实现,探讨该系统的实现过程,以有效满足Android手机用户在视频播放中常见的需求。本课题的主要内容为:(1)根据对Android手机视频播放器功能

11、的了解和分析,从功能和实用的角度出发,设计并实现Android视频播放器;(2)对Android视频播放器进行模块划分;(3)对各模块分析并设计、实现;(4)从功能多样性角度考虑,尽可能添加一些附加的设计方案并实现。1.4系统设计的目标及基本思路本次毕业设计使用Eclipse + ADT插件 + DDMS插件搭建的Android开发平台环境,开发语言为Java语言。需要开发出基于Android平台的视频播放器应用程序,并能够在Android手机上运行。基本思路介绍如下:第一步:程序运行时进入主Activity,通过更新或查看文件列表,选择一个视频文件;第二步:读入视频文件,调用Mediapla

12、yer.setDataSource()方法设置文件路径,并通过Mediaplayer.prepare()方法将Mediaplayer对象置为准备状态;第三步:调用Mediaplayer.start()方法播放视频,此时可以调节音量、进度,暂停播放,重置播放等等操作;第四步:播放完成后,Mediaplayer对象进入了PlaybackCompleted状态,此时可以选择其他视频文件进入下一个视频的播放或者退出程序。1.5论文组织结构本文主要由:中英文摘要、目录、绪论、课题相关技术介绍、系统可行性分析、系统需求分析、程序实现、测试、结束语、参考文献、致谢语以及附录构成。第一章绪论主要分析和介绍背景

13、、课题主要研究的问题以及系统设计的目标及基本思路。第二章主要介绍课题的相关技术。第三章是系统分析以及系统功能的设计与实现,其中包括系统可行性分析和系统需求分析。第四章是程序测试和结果的分析与研究等。最后对全文进行了总结和展望,附录部分为主要功能的函数源代码。第二章 Android视频播放器相关技术介绍2.1 Android介绍Android是“机器人”的意思,是Google公司于2007年11月5日发布的一个机遇Linux平台的开源手机操作系统。该系统由底向上一共分为了4层,如图2-1。每一层对把底层实现封装,并提供调用接口给上一层。 图2-1 Android系统架构 (1) Linux内核(

14、Linux Kernel)。Android运行在Linux Kernel2.6之上,但是把Linux内核GNU协议约束的部分做了取代。这样,运行在Android上的程序可以用于商业目的。Linux内核是硬件和软件层之间的抽象层。 (2) 中间件。中间件包括两部分:核心库和运行时环境(Libraries & Android Runtime)。核心库包括,SurfaceManager,显示系统管理库,负责把2D或3D内容 显示到屏幕;MediaFramework,媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQLite,数据库,一个功能十分强大的轻量级嵌入式关系数据库;WebKit浏览器

15、引擎等。运行时环境主要包括一个Dalvik Virtual Machin,Dalvik虚拟机,区别于Java虚拟机的是,每一个Android应用程序都在自己的进程中运行,都有一个属于自己的Dalvik虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。 (3)应用程序框架。丰富而又可扩展性的视图(View),可以用来构建应用程序,它包括列表(List),网格(Grids),文本框(Textboxs),按钮(Button),可嵌入的Web浏览器等。内容提供者(Content Providers)使得应用程序可以访问另

16、一个应用程序的数据(如联系人数据库),或者共享他们各自的数据。资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件(LayoutFiles)。通知管理器(Notification Manager)使得应用程序可以在状态栏中显示自己定义的提示信息。活动管理器(Activity Manager)用来管理应用程序的生命周期,并提供常用的导航回退功能。 (4)应用程序。Android系统会内置一些应用程序包,包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理器等等。Android应用程序由强大的Java语言来编写,也支持其他一些语言如C

17、、Perl等。其中Java应用最为广泛,其他语言已经就看不到了4。2.2 Android开发平台及相关技术2.2.1 Android-Windows开发环境(1) JDK1.6.0_16:JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。EE(J2EE),en

18、terprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。没有JDK的话,无法编译Java程序10。(2) Eclipse-SDK-3.6.2-win32:Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development

19、 Kit,JDK)10。 (3) Android-SDK:SDK(software development kit)称为软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的是Android专属的软件开发工具包。(4) ADT_16:Android Development Tools-安卓开发工具。目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具2。(5)

20、 AVD:AVD的全称为:Android Virtual Device,就是Android运行的虚拟设备,他是Android的模拟器识别。建立的Android要运行,必须创建AVD,每个AVD上可以配置很多的运行项目。创建AVD的方法有两种。一是通过eclipse 开发环境,二是通过命令行创建5。2.2.2 Mediaplayer视频技术在Android系统中,最简单、最常用的视频技术是Mediaplayer接口 ,通过此接口可以播放指定的音频和视频文件,另外也可以通过VideoView来播放视频,虽然VideoView比Mediaplayer简单易用,但定制性不如Mediaplayer,要视

21、情况选择。Mediaplayer播放音频比较简单,但是要播放视频就需要SurfaceView。SurfaceView比普通的自定义View在绘图上更有优势,它支持完全的OpenGL ES库。Mediaplayer能被用来控制音频/视频文件或流媒体的回放,可以在VideoView里找到关于如何使用这个类中的方法的例子。使用Mediaplayer时限音频和视频播放的基本步骤,首先生成Mediaplayer对象,根据播放文件从不同的地方使用不同的生成方式;得到Mediaplayer对象后,根据实际需要调用不同的方法,如start()、stop()、pause()、release()等。需要注意的是,

22、在不需要播放的时候要及时释放掉与Mediaplayer对象相连接的播放文件7。图2-2显示了一个Mediaplayer对象被支持的播放控制操作驱动的生命周期和状态。椭圆标识代表Mediaplayer对象可能主流的状态。由一个箭头开始的弧线代表同步的方法调用,而以双箭头开头的弧线代表异步调用方法。通过图2-2可以知道一个Mediaplayer对象有如下状态。当一个MediaPlayer对象被刚刚用new操作符创建或是调用了reset()方法后,它就处于Idle状态。当调用了release()方法后,它就处于End状态。这两种状态之间的时间是MediaPlayer对象的生命周期。在一个新构建的Me

23、diaPlayer对象和一个调用了reset()方法的MediaPlayer对象之间有个微笑但十分重要的差别。在Idle状态时,调用getCurrentPosition()、getDuration()、getVideoHeight()、getVideoWidth()、setAudioStreamType(int)、setLooping(boolean)、setVolume(float,float)、pause()、start()、stop()、seekTo(int)、prepare()或者是prepareAsync()方法都是编程错误。当一个MediaPlayer对象处于刚被创建的时候,内部的

24、播放引擎和对象的状态都没有改变,在这个时候调用以上方法,框架将无法回调客户端程序注册的OnErrorListener.onError()方法;但若这个MediaPlayer对象调用了reset()方法之后,再调用以上方法,内部的播放引擎就会回调客户端注册的OnErrorListener.onError()方法,并将错误的状态传入。图2-2 Mediaplayer对象状态所以,一旦一个MediaPlayer对象不再被使用,应立即调用release()方法来释放咋内部的播放引擎中与这个MediaPlayer对象关联的资源。资源可能包括如硬件加速组件的单态组件,若没有调用release()方法可能会

25、导致之后 dMediaPlayer对象实例无法使用这个单态硬件资源,从而运行失败。一旦MediaPlayer对象进入了End状态,它不能再被使用,也没有办法迁移到其他状态8。此外,使用new创建的MediaPlayer对象处于Idle状态,而那些通过重载的create()便利方法创建 的MediaPlayer对象却不是处于Idle状态。事实上,如果成功调用了重载的create()方法,那么这些对象已经是处于Prepare状态了。在一般情况下,由于种种原因,一些播放控制操作可能会失败,如不支持视频格式,缺少隔行扫描,分辨率过高,流超时等等。因此,错误报告和回复在这种情况下是非常重要的。有时,由于

26、编程的错误,在处于无效状态的情况下调用了一个播放控制操作可能发生。在所有可能的错误条件下,内部的播放器引擎会自动的调用一个由程序自身所提供的OnErrorListener.onError()方法。程序可以通过调用Mediaplayer.setOnErrorListener()方法来注册OnErrorListener。如一旦发生错误,MediaPlayer对象会进入到Error状态。为了重用一个处于Error状态的MediaPlayer对象,可以调用reset()方法把这个对象恢复成Idle状态。注册一个OnErrorListener获知内部播放心情发生的错误时良好的编程习惯。在不合法的状态下调

27、用一些方法,如prepare()、prepareAsync()和setDataSource()方法等会抛出IllegalStateException异常。调用setDataSource(FileDescription)方法、setDataSource(String)方法、或者是setDataSource(Uri)方法、setDataSource(FileDescriptor,long,long)方法,便可以使MediaPlayer对象从Idle状态迁移到Initialized状态。若此时MediaPlayer对象处于其他状态下,调用setDataSource()方法会抛出IllegalStat

28、eException异常。在开始播放前,MediaPlayer对象必须进入Prepared状态。在此有两种方法(同步和异步)可以实现。调用Prepare()方法(同步),此方法返回表示MediaPlayer对象已经进入Prepared状态。调用prepareAsync()方法(异步),此方法返回表示MediaPlayer对象进入Preparing状态并返回,而内部的播放引擎继续未完成的准备工作。在开始播放时,必须调用start()方法。当方法返回成功时,MediaPlayer对象应当处于Started状态。isPlaying()方法可以被调用来测试某个MediaPlayer对象是否处于Started状态。播放可以被暂停、停止,以及调整当前的播放位置。Pause()方法可以是MediaPlayer对象进入Paused状态。注意Started状态和Paused状

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

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