基于Android的视频播放器的实现 (源码+万字报告+讲解)

目 录
第1章 引言 1
1.1 研究背景 1
1.2 国内外研究现状 1
1.2.1 国外研究现状 1
1.2.2 国内研究现状 1
1.3 研究内容 2
1.4 研究意义 2
1.5 论文结构 3
第2章 关键技术 4
2.1 Android简介 4
2.2 Android的系统架构 4
2.2.2 应用程序层 5
2.2.3 应用程序框架 5
2.2.4 系统运行库 5
2.3 Java语言 6
2.3.1 Java语言简介 6
2.3.2 Java语言特点 6
2.4 Vitamio框架 7
2.5 开发平台 7
第3章 系统需求分析 8
3.1 业务流程分析 8
3.2 功能性需求 9
3.3 非功能性需求 9
3.3.1 数据安全 9
3.3.2 运行状态 9
3.4 可行性分析 10
3.4.1 技术可行性 10
3.4.2 操作可行性 10
3.4.3 经济可行性 11
第4章 基于Android的视频播放器设计 12
4.1 软件设计步骤 12
4.2 设计目标与原则 12
4.3 系统总体设计 13
4.4 功能模块设计 13
4.4.2 本地视频 14
4.4.3 网络视频 14
4.4.4 侧滑删除 15
4.4.5 声音与进度条 15
4.4.6 查看图片 15
第5章 系统实现与测试 16
5.1 系统实现 16
5.1.1 本地视频 16
5.1.2 网络视频 17
5.1.3 侧滑删除 18
5.1.4 调节进度条与声音 19
5.1.5 查看图片 21
5.2 系统测试 23
5.2.1 测试原则 23
5.2.2 测试说明 23
5.2.3 本地视频测试 24
5.2.4 侧滑删除测试 24
第6章 总结 25
参考文献 26
致谢 27

第1章 引言
1.1研究背景
由于社会的发展迅速,智能手机的使用越来越普遍,人们生活质量的提高,视频播放器成了人们生活中常用的一款软件,视频能给人心情带来不同的印象,在这快节奏的生活中,也可以减少人们的压力。
因此,为了让手机有一个个性的视频播放APP,让手机更加灵活,更方便人们生活,本文设计了一个基于Android的视频播放器,该系统不仅拥有动态友好的界面、个性化的设计,而且有较强的互动性,能够充分满足人们日常观看视频、存储视频文件的需求,获得了许多的用户的喜爱。
1.2国内外研究现状
1.2.1国外研究现状
相比于国内的Android视频播放器,国外的起步明显早。外国一些先进国家早在十几年前就出现了许多优秀的、成熟的基于Android的视频播放系统,并且已形成了一套完善的法律和管理办法,随着互联网的广泛应用,大多数手机生产商都视频播放研发中心,为用户提供一应俱全的服务,并且已形成了一套完善的法律和管理办法。例如在使用普通镜头图像生成球面全景图方面,Peleg 和Herman 等人就提出了一种基于流式思想的拼接方法。随着互联网的广泛应用,大多数手机生产商也都成立视频播放研发中心,为用户提供一应俱全的服务。
1.2.2国内研究现状
国内对于信息技术的应用从时间上看起步并不晚,但从应用水平和应用规模上看远远落后于世界先进水平,这当然与我国信息技术开发与应用的整体水平有关,也与我国自身管理理念落后、管理人才缺乏相关。其他国内绝大多数研发人员对信息技术的认识源于上个世纪90年代中期“互联网热”的冲击,一部分具有一定规模的手机生产商纷纷生产自己的手机视频播放器,追赶网络大潮。但是,这些播放器的主要作用体现在宣传促销、消息展示等方面,对本地视频、网络视频管理,视频播放灵活性方面还未有成熟的处理方式。
1.3研究内容
本课题研究的基于Android的视频播放器主要功能如下:
(1)本地视频播放功能:用户通过系统选择手机本地的视频,进行观看,同时,也可以查看手机本地图片;
(2)网络视频播放功能:用户可以在搜索网络视频的文本框中输入网络视频地址,观看网络视频;
(3)列表显示已播放视频:显示用户观看的本地视频或网络视频记录;
(4)侧滑删除视频:用户可以对已播放视频记录进行侧滑删除操作;
(5)视频播放进度与声音:用户在播放视频的过程中,可以调节播放器的进度条,调整视频进度,也可以调节视频声音。
1.4研究意义
我国现在是一个信息发展比较迅速的国家,在信息科学技术方面,我国的发展还是比较高速的,各个行业的发现都融入的新的元素,尤其是一些行业借助计算机技术,产生了飞速的进步。快递作为国内必不可少的一份子,也应该紧跟时代的步伐,适应时代的发展,因此,开发和实现一个基于Android的视频播放器,满足人们的日常需求,对提高休闲效率方面是一件非常有意义的事情。
传统的视频播放器主要是利用比较简单的计算机技术,实现一些查看图片,观看本地视频的功能,这种传统的视频播放器的运行方式其实在生活中是存在许许多多的弊端,不利于视频行业的发展,而且这种方式容易出现错误,造成管理效率的低下等等。因此,借助计算机技术将手机的一些重要数据进行信息化管理是一件非常有意义的一件事情。计算机技术目前已经基本成熟,能构建各类功能强大的播放器系统,会不断的推动手机行业的发展。总的来说,视频播放器是国内市场上比较劣势的一部分,开发视频播放器对于手机行业的发展具有重要的意义。
1.5论文结构
本文就基于Android的视频播放器做了简单的描述。论文比较具体的工作内容也将会在接下来的各个章节中予以介绍:
第1章绪论。绪论部分主要介绍的是课题的研究背景以及研究意义,并从国内外的研究现状说明了课题的可行性和必要性。
第2章系统的需求分析。主要包括功能需求和非功能的需求、系统可行性分析、Java语言、Vitamio框架等,让读者了解系统的相关技术以及整体框架。
第3章基于Android的视频播放器设计。包括总体的设计思想、功能模块设计,全面的向读者介绍整个系统;
第4章是系统实现与测试。包括本地视频播放、网络视频播放、侧滑删除功能的实现,以及核心功能的测试,验证系统的可行性;
第5章是结束语。

第2章 关键技术
2.1Android简介
Android系统是当前比较流行的系统之一,其主要应用在智能手机、平板电脑、电冰箱等电器上,尤其是Android的智能手机发展前景最好,如华为手机、小米手机、vivo手机等都是使用的Android系统进行研发的。Android系统能够受到各个生产厂家的喜爱主要是因为它有以下几个优点:
(1)Android系统的使用和运行是基于Linux的,其具有运行稳定、安全性高的特点;
(2)在Linux编写代码简单、方便,且整个代码具有更加新颖的空间,使手机的运行速度也有很大的提升;
(3)当Android系统优化升级之后,系统中之前的软件是可以一直使用的,避免了用户频繁更新软件的问题;
(4)系统的界面也是具有相对人性化的设计,界面美观,深受用户的喜爱。
2.2Android的系统架构

图2-1Android系统架构图
如图2-1所示是Android系统架构图。从图中可以看出,Android应用了系统架构中的分层体系结构,就像今天大多数系统那样。Android上的系统架构图主要包括应用层、应用框架层、系统运行层和Linux核心层。
2.2.2应用程序层
应用程序层是Android系统架构中的重要组成部分之一,Android系统中的应用程序有许多,例如SMS短信客户端程序、图片浏览器等等,大部分的应用程序都是使用Java语言进行编写实现的,具有简单、快捷、使用效率高的特点,这些应用程序在手机内存中不同于手机中其他的应用程序,它们相对更加的灵活、个性,更方便用户在日常生活中使用。
2.2.3应用程序框架
应用程序框架是Android系统中编写应用程序层比较常用的基本框架,该框架也具有方便、简单的特点,一般开发人员只需要将其相关的组件快速的拖动到相应的地方并进行合理的开发即可。其中API框架是应用程序中最为核心的框架之一,API框架可以提高开发人员完全的访问权限,并且框架结构合理,操作简单,大大简化了应用程序开发的难度,深受Android开发人员的喜爱。
2.2.4系统运行库
观察图2-1我们可以了解到,Android系统架构中的另一个重要组成部分是系统运行库,其主要包括系统库和Android运行两个主要的模块,各模块的详细介绍如下所示:
(1)系统库:系统库是Android系统架构的核心部分,同时也是应用程序层的核心支撑框架之一,它可以有效的将Linux和应用程序层进行连接,从而保证系统能够稳定的运行和使用;
(2)Android运行:刚刚已经介绍过,Android系统中大部分的代码都是采用Java语言进行编写的,java具有具有简单、编写简介、快捷的特点,于此同时,在Android系统运行的时候,Android系统将被分为核心库和虚拟机两大部分,以支持整个系统能够安全的运行。
2.3Java语言
2.3.1Java语言简介
通常情况下,我们会称Java是一种面向对象的并且是一种跨平台编程的语言,这种语言具有简单、方便、多线程以及安全的特点。众所周知,Java语言其实是所有的计算机语言中非常关键的一门语言,它同时也是一种面向对象的比较简单且高级的编程语言,开发者在整体设计的过程中,能自由灵活的构建类,还能进行各种方法的重载,对不同的条件进行智能的选择运行。作为一种跨平台的语言,Java编写的代码无需经过修改,可在Windows、Linux等不同的操作系统下运行。
2.3.2Java语言特点
相比于C语言、C++语言等,Java语言具有其更加独特的特点,主要可以包括以下几点:
(1)跨平台性:在Java语言中,其自带了虚拟机可以非常好的实现跨平台的特性,这主要是因为相关代码生成的二进制字节是和平台没有必然的联系的,这样也使得Java语言的虚拟机系统可以充分的提高好的平台特性;
(2)面向对象:Java语言其实是一种面向对象的语言,该语言具有开发简单,编写代码节约时间的特点,被许多开发人员广泛的使用;
(3)安全性:Java语言的安全性主要体现在四个方面,分别是语言的安全性、编译的安全性、运行的安全性以及代码的安全性,这是由于Java语言是一个结构相对完整的语言,其具有良好的封装特性,能够充分的保证系统的安全以及用户访问的安全性。
2.4Vitamio框架
Vitamio是一款Android与iOS平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染。Vitamio凭借其简洁易用的API接口赢得了全球众多开发者的青睐。到目前,全球已经有超过一万种应用在使用Vitamio,覆盖用户超过5亿。 Vitamio能够流畅播放720P甚至1080P高清MKV、FLV、MP4、MOV、TS和RMVB等常见格式的视频,还可以在Android与iOS上跨平台支持 MMS、RTSP、RTMP和HLS(m3u8) 等常见的多种视频流媒体协议,包括点播与直播。
2.5开发平台
一般情况下,我们称MyEclipse是一种开源的、方便的、快捷的代码。到目前为止,我们可以说它只是一种比较便捷的框架,该技术主要是通过计算机插件组件进而来构建计算机的开发环境的。MyEclipse的用途并不仅是局限于 Java技术的 ,这是因为,MyEclipse的框架不仅用于以上的这些部分,它还可以用来作为和软件开发的无关的其他的一些程序类型的基础工作部分进而来作为开发工作。通常情况下MyEclipse的每一样东西都是可以由插件进行构成的,基于这一特点,所以我们对于给MyEclipse提供插件的时候,我们所使用的任何的工具类型,开发人员都需要具有同等的发挥场所。 
在结构上,我们主要讲MyEclipse的特征分为种主要的类型:

  1. JavaEE模型
  2. JSP开发工具
  3. EJB开发工具

第3章 系统需求分析
需求分析是介绍我们对于一件事情是如何解决的,我们需要对这件事情进行详细的分析。首先,我们应该清楚这件事情的的目标是什么,它主要是包括我们解决这件事情想要得到一种什么样的结果以及我们需要付出多少的努力,然后,我们需要弄清楚我们该怎样的去解决这件事情,最后,我们需要整体的对这件事情做一个完整的计划,这个计划是可以完成这个系统的。
3.1业务流程分析
如图3-1所示是系统的业务流程图,详细说明如下:
(1)用户通过手机登录视频播放器;
(2)当用户成功登录系统之后,则可以在系统中对基本功能和系统管理等功能进行作;
(3)当用户用户处理完所有的事情,即可退出系统。

图3-1系统业务流程图
3.2功能性需求
众所周知,系统的功能性需求是一个非常重要的组成成分,是整个系统分析过程中的一个相对比较关键的环节。下面介绍的几点内容是本系统的主要分析情况:
(1)当用户打开视频播放器之后,用户就会进入播放器的主页。在主页中,用户可以选择播放器的各个功能,例如本地视频、网络视频、侧滑删除等。
(2)当用户操作完所有的功能之后,能够正常的退出视频播放器,并且播放器在使用的过程中交互性好,灵活性强。
3.3非功能性需求
3.3.1数据安全
用户在进行数据相关操作时(如新增、删除、修改、审核等),播放器为了保证数据的安全可靠性,必须具备以下功能特点:
(1)征求询问确认操作:特别是在删除数据的操作上要再次向用户确认,避免不小心失误操作造成的数据损失。
(2)数据准确性校验:在填写信息时,特别重要的必填信息确保无误、无漏、合法操作等。避免不合法数据存入数据库。
(3)重复数据的冗余性和缺省赋值性:对于一些公用的人员基本信息数据,在数据库设计上不应该出现数据重复保存的现象。一些常用而且必须显示和输入的数据能够自动附带显示就不必要用户每次都填写,提高数据的缺省赋值性。
3.3.2运行状态
为了保证系统能够可靠的服务于人们日常生活。必须做到系统能够承受长期运行、稳定操作、高效完成的系统性能需求,因此,必须满足以下要求:
(1)系统结构设计合理系统其采用了松耦合开发模式,各个模块之间不相互依赖,可满足不断更新的需求,具备了良好的系统扩展性和维护性。
(2)系统具备良好的维护性、开放性。考虑到实际工作的需求会更新,系统也做好了这方面的准备,会提供对外开放的规范接口,以便日后进行完善系统功能。
(3)系统的信息提示及时、处理准确性高。本系统中的任务提示信息,在一定时间内提醒用户有任务可处理,做到了消息及时提醒。系统考虑到以后会出现的数据量超大的问题,在数据的加载上使用了懒加载方式,减轻系统的压力,提高系统的响应速度,以更好的满足用户体验效果。
(4)系统的可升级性系统也会考虑到未来的功能会发生某种改变、内容可能更加丰富多彩,所以系统具备可扩展性、升级性才能保证系统的不断发展。
(5)系统的安全性高,系统在商业范围内使用,其中的数据涉及到许多人员的重要信息,如身份证号、手机号、家庭地址等私密信息。因此,在数据库设计上必须考虑到其重要性。建立起一套安全级别较高的机制是不可或缺的。
3.4可行性分析
本篇论文主要是分别从技术可行性、经济行性、操作行性三个方面对视频播放器进行整体的分析和研究。
3.4.1技术可行性
本系统采用的是Java技术开发,使用 MyEclipse 操作系统环境。简单方便而且上手快,对程序员来说是一个极大的便利,经检验开发效率也极高。因此,在系统开发的使用技术上来说,开发视频播放器是完全可实现的。科技发展迅猛的今天,硬件方面的更新速度也极快,容量也不断扩大,满足了人们理想需求,其可靠性高,价格合理,所以硬件条件在系统的开发和使用需求是绰绰有余的。
3.4.2操作可行性
系统界面简洁,各个模块管理分明,提示信息到位,系统能运行在大多数计算机中,系统的安装、调试、运行操作简单,使用性强,上手快。系统的权限控制和分配明确,用户可以直接在系统中进行各种操作,而且整个流程的时间和工作量都大大的缩小,从根本上解决了工作效率、质量以及人员耗费的问题。
此外,自从开发出视频播放器之后,该系统的操作难度、受益程度以及复杂程度就完全的决定了该系统是不是能够受到推广,这同时也是开发人员必须要考虑的关键问题,视频播放器易于操作,方便快捷。在操作上,不需要任何的指导就可以自己学会如何去使用,在操作层面上来看,该系统是完全没有任何复杂性的。因此,视频播放器操作非常简单,易于上手。
3.4.3经济可行性
视频播放器在经济上花销很少,它的设计内容非常的简单,设计过程也是比较简单,一般的设计人员都可以完成,复杂性不高。其次,视频播放器具有可观的价值,方便消费者的操作,提高管理的效率。另外,视频播放器的设计成本相对较低,但其带来的收益却远高于设计的成本。因此,本课题具有经济可行性。

第4章 基于Android的视频播放器设计
为了把用户的需求转变为开发人的编程的思维,使得开发符合规范化,同时也能够使得每个功能模块全面到每一个点上,本节给各功能模块设计一个详细的实施方案,对每个功能模块的设计都进行详细的描述和设计,做到系统的每一步都有据可依。
4.1软件设计步骤
基于Android的视频播放器是通过PC端实现的,因此在设计方面,本系统应以任务书的要求为标准,基于实际的流程业务和用户需求为主,结合已有的视频播放器进行设计。详细的设计步骤如下图3-1所示。

图4-1 设计流程图
4.2设计目标与原则
本文的设计目标是构建适应于人们日常生活的视频播放器,同时,设计出的播放器应该要求系统安全性高、可靠性高、运行相对稳定、性能相对平稳。因此,本视频播放器的设计目标与原则如下:
(1)系统稳定性:开发时能够保证系统具有良好的稳定性,同时,采用的数据也能够长期有效的进行运行;
(2)易操作性:系统操作界面友好,用户易使用;
(3)实用性:系统需要预留可扩展的接口,这样才能方便软、硬件的扩充。
4.3系统总体设计
本系统总体设计图4-2。当用户成功的通过用户名和密码登录到系统之后,就
可以进入到系统的主页,用户在主页中就可以进行各种各样的选择的操作。

图4-2系统总体设计图
4.4功能模块设计
通过分析系统需求、系统运行过程中的各类数据结构。本课题采用自顶向下的方式的设计思想,顶层模块根据需求给不同的下层模块发送不同的指令,各个模块相互协作,完成程序的所有功能。即将整体功能划分为几大功能模块,每个功能模块向下细分为若干子模块,每一个子模块完成一个对应的子功能,如果功能仍复杂则可继续向下划分,通过这种方式把模块组织成良好的层次系统。下面分别给予详细的分析,并结合分析的情况给出合理的功能模块设计。如图3-2所示,是系统的功能模块图。

图4-3系统功能模块图
根据图3-2可以看出,视频播放器主要划分为本地视频播放、网络视频播放、侧滑删除视频等六大模块。
4.4.2本地视频
本地视频播放模块主要实现播放本地视频的功能,支持的格式包括MKV、FLV、MP4等。
4.4.3网络视频
网络视频播放模块主要实现通过输入网络视频地址,播放网络视频的功能,满足用户观看更多丰富多彩的视频的需求,如图4-4所示是网络视频模块的功能模块图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值