




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 android 的视频播放器的设计与实现的视频播放器的设计与实现 中中 文文 摘摘 要要 如今,随着基于 android 操作系统的智能手机的广泛应用,视频播放器已成为智能手机 的一个必不可少的程序,广大用户迫切需要一个贴近用户、方便用户、个性化的视频播放器。 因此,设计一个基于 android 手机的多功能播放器,具有重要的实际意义。 本次毕业设计主要使用 jdk + eclipse + android-sdk-windows 工具进行开发,使用的 编程语言是 java 语言。该程序主要由 4 个不同 activity 来实现,每个 activity 实现相应的功 能模块,能够有效满足 android 手机用户在视频播放中的常见需求。 本论文详细介绍了播放器程序的设计思路、设计方案、系统结构和项目工程结构,对系 统的可行性与需求性进行了详细的分析,阐述了系统各个模块功能的设计与实现。对程序主 要的 activity 都进行了详细的介绍和分析,包括对其使用的布局文件的具体介绍,以及各个 控件的作用。在最后进行了程序测试,对每一个实现的模块功能都做了测试,并且记录了大 量截图用来展示测试结果,以观察程序应有的功能是否正常运行,以及发现程序中可能存在 的问题。所开发的程序界面比较友好,操作相对容易,达到设计要求。 关键词:关键词:安卓;安卓;视频播放;视频播放;activityactivity;mediaplayermediaplayer the design and implementation of video player based on android abstract now, with the wide application of smart phone based on the android operating system, video player has become the essential application of smart phone. most of consumers urgently require a personalized video player which is close to user and facilitate user. therefore, the design of a multifunctional player based on android mobile phones has an important practical significance. the project design is developed by using jdk, eclipse, and android-sdk-windows tools. the programming language is java. the program consists of four different activities and each activity achieves the corresponding functional modules which can effectively satisfy the common requirements for playing video on android mobile phones. 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 analyzed 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, many 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 i 目目 录录 中文摘要.i abstractii 目 录.iii 第一章 绪论.1 1.1 课题的来源及意义1 1.2 android 发展现状及前景1 1.3 项目的主要工作和解决的问题2 1.4 系统设计的目标及基本思路3 1.5 论文组织结构3 第二章 android 视频播放器相关技术介绍 4 2.1 android 介绍4 2.2 android 开发平台及相关技术5 2.2.1 android-windows 开发环境5 2.2.2 mediaplayer 视频技术6 2.2.3 surface、surfaceview、surfaceholder 三者之间的关系9 第三章 系统分析及系统结构设计与实现.11 3.1 系统分析.11 3.1.1 系统可行性分析.11 3.1.2 系统需求分析 11 3.2 系统结构设计.12 第四章 测试.16 4.1 测试环境和条件.16 4.2 测试.16 4.3 测试结果分析.24 结 论25 参考文献26 附 录28 合肥学院计算机科学与技术系毕业论文 0 第一章第一章 绪论绪论 1.1 课题的来源及意义课题的来源及意义 在这个信息化的时代, it 业已经成为世界发展的主流,我们对信息技术的依赖远远超 过了对我们自己的依赖,计算机和手机已经成为我们日常生活中不可缺少的获得信息的渠道。 正因为如此,各种各样的软件层出不穷,我们的生活也因为各种各样的软件变的更有滋有味。 不缺乏娱乐性,也不缺乏教育意义,让我们从这些软件中受益匪浅,使我们看到了相比以前 的巨大进步。同时,随着科技的发展,计算机越来越精致,手机也越来越智能化,所以我们 的依赖性也越来越大,越来越离不开这些给我们提供日常信息的工具。手机也已不再仅仅是 简单的人与人通话的工具,而是在很大程度上成为了我们获取信息的一个更好的渠道。一个 好的软件,能够标志一个手机品牌的地位。所以,开发一款好的手机软件是相当必要的。以 前我们看电影,看视频,都要去电影院或者是影吧,而且时间有限,很不方便;而现在是在 电脑上或者手机上看视频,看小说,文档等等。以此看来,一个好的手机视频播放器软件的 开发是相当有必要的。 作为集通讯与娱乐消费为一体的智能手机,播放器是其中一个必不可少的重要功能,一 个贴近用户,方便用户的多功能的播放器也是用户所渴望的,更是开发人员应当致力于的。 随着 google 推出的 android 手机的不断更新换代,技术方面也日趋成熟,一个良好的视频 播放器的设计与实现已经成为可能。 目前,作为 android 的手机用户而言,都有视频播放器的实体应用。但是,对于绝大多 少而言,其界面单调,功能单一。比如,界面与其他非智能的手机没有大的区别,而功能上 面,也就除了基本的播放控制流程之外,多上一个视频基本信息的显示,同时加上一个对预 设定路径的播放列表的展示。因此,开发一款界面友好、炫丽、功能更多的视频播放器,更 好的贴近用户,满足用户需求,其应用前景也是相当乐观的。 1.2 android 发展现状及前景发展现状及前景 android 是一种基于 linux 的自由及开放源代码的操作系统,主要使用于移动设备,如 智能手机和平板电脑,由 google 公司和开放手机联盟领导及开发。android 操作系统最初由 andy rubin 开发,主要支持手机。2005 年 8 月由 google 收购注资。2007 年 11 月,google 与 84 家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良 android 系 统。随后 google 以 apache 开源许可证的授权方式,发布了 android 的源代码。第一部 android 智能手机发布于 2008 年 10 月。android 逐渐扩展到平板电脑及其他领域上,如电 视、数码相机、游戏机等。2011 年第一季度,android 在全球的市场份额首次超过塞班系统, 合肥学院计算机科学与技术系毕业论文 1 跃居全球第一。 2012 年 11 月数据显示,android 占据全球智能手机操作系统市场 76%的份 额,中国市场占有率为 90%。由此可见,android 占有非常可观的市场前景。 具有开源特性的 android 平台打破了之前 symbian、windows mobile 等操作系统收取高 额授权费用的模式,使得智能手机成本大大的降低。而正是由于它开放源代码,使得手机产 生更多个性化的应用。同时,合作方能够在这里得到利润或者创造价值,手机软件行业得到 维护协调发展。以 google、苹果和诺基亚为中心各自形成的生态链将以原来数倍的速度推 动移动互联网的发展,这正是 google 发布 android 平台的意义,也是 android 平台存在的使 命所在。作为 android 平台成员之一的中国移动也投资成立了一家通讯公司,专门从事 g oogle 手机软件的应用以及本地化的软件的开发,比如将在 google 手机平台上添加飞信、 输入法等一系列符合国内用户使用特色的功能。国内众多企业也将眼光投入到 android 上面, 并启动了相关的计划来深入的理解并发展 android。更多的手机软件开发企业已经或者筹备 着将公司进行转型,从其他方向的开发转向到 android 的开发。由此可见,无论是在国内还 是在国外,android 平台对手机软件行业和移动手机平台 将发挥极大地推动作用,而在未来 的几年时间里,android 将越发的凸显自己的重要性1。 目前国内的 android 开发还是主要以应用开发为主,主要分成 3 类:为企业开发应用、 开发通用应用(放到 android market 或者其他 app market 销售)以及游戏开发(放到 android market 或者其他 app market 销售) 。第一类开发者一般身处规模较大的公司,这些 公司主要为自有品牌或者其他品牌设计手机或者平板电脑的总体方案。除了根据需求对系统 进行定制外,更多的工作在于为这些系统编写定制的应用。第二类开发者,一般处于创业型 公司或者是独立开发者,他们的盈利方式主要是 2 种:为国外公司进行外包开发,或者通过 google 的移动广告(admob)通过广告点击分成。而理论上的通过付费下载的形式来盈利 的,现在国内鲜见成功者。第三类开发者,目前和第二类开发者类似3。 1.3 项目的主要工作和解决的问题项目的主要工作和解决的问题 本课题的研究目的就是要通过对基于 android 的多功能视频播放的系统设计与实现,探 讨该系统的实现过程,以有效满足 android 手机用户在视频播放中常见的需求。本课题的主 要内容为: (1)根据对 android 手机视频播放器功能的了解和分析,从功能和实用的角度出发,设计 并实现 android 视频播放器; (2)对 android 视频播放器进行模块划分; (3)对各模块分析并设计、实现; (4)从功能多样性角度考虑,尽可能添加一些附加的设计方案并实现。 合肥学院计算机科学与技术系毕业论文 2 1.4 系统设计的目标及基本思路系统设计的目标及基本思路 本次毕业设计使用 eclipse + adt 插件 + ddms 插件搭建的 android 开发平台环境,开 发语言为 java 语言。需要开发出基于 android 平台的视频播放器应用程序,并能够在 android 手机上运行。 基本思路介绍如下: 第一步:程序运行时进入主 activity,通过更新或查看文件列表,选择一个视频文件; 第二步:读入视频文件,调用 mediaplayer.setdatasource()方法设置文件路径,并通过 mediaplayer.prepare()方法将 mediaplayer 对象置为准备状态; 第三步:调用 mediaplayer.start()方法播放视频,此时可以调节音量、进度,暂停播放, 重置播放等等操作; 第四步:播放完成后,mediaplayer 对象进入了 playbackcompleted 状态,此时可以选择 其他视频文件进入下一个视频的播放或者退出程序。 1.5 论文组织结构论文组织结构 本文主要由:中英文摘要、目录、绪论、课题相关技术介绍、系统可行性分析、系统需 求分析、程序实现、测试、结束语、参考文献、致谢语以及附录构成。 第一章绪论主要分析和介绍背景、课题主要研究的问题以及系统设计的目标及基本思路。 第二章主要介绍课题的相关技术。 第三章是系统分析以及系统功能的设计与实现,其中包括系统可行性分析和系统需求分 析。 第四章是程序测试和结果的分析与研究等。 最后对全文进行了总结和展望,附录部分为主要功能的函数源代码。 合肥学院计算机科学与技术系毕业论文 3 第二章第二章 androidandroid视频播放器相关技术介绍视频播放器相关技术介绍 2.1 android 介绍介绍 android 是“机器人”的意思,是 google 公司于 2007 年 11 月 5 日发布的一个机遇 linux 平 台的开源手机操作系统。该系统由底向上一共分为了 4 层,如图 2-1。每一层对把底层实现 封装,并提供调用接口给上一层。 图 2-1 android 系统架构 (1) linux 内核(linux kernel)。android 运行在 linux kernel2.6 之上,但是把 linux 内 核 gnu 协议约束的部分做了取代。这样,运行在 android 上的程序可以用于商业目的。 linux 内核是硬件和软件层之间的抽象层。 (2) 中间件。中间件包括两部分:核心库和运行时环境(libraries new, 2010 8 郭宏志. android 应用开发详解m. 北京:电子工业出版社, 2012 9 王向辉等. android 应用开发m. 北京:清华大学出版社, 2010 10陈刚. java 开发利器:eclipse 从入门到精通m. 北京:清华大学出版社, 2005 合肥学院计算机科学与技术系毕业论文 26 致致 谢谢 本课题在选题及进行过程中得到王晓峰老师的悉心指导。论文行文过程中,王老师多次 帮助我分析思路,开拓视角,在我遇到困难想放弃的时候给予我最大的支持和鼓励。王老师 严谨求实的治学态度,踏实坚韧的工作精神,将使我终生受益。再多华丽的言语也显苍白。 在此,谨向王老师致以诚挚的谢意和崇高的敬意。感谢大学四年来,计科系所有老师对我学 习上的帮助和生活上的关怀,正是您们的辛勤工作,才使我得以顺利地完成学业,取得学位。 浓浓师恩,终生不忘。感谢我的室友们,我们一起经历过的聚散喜悲,悲欢离合,一起走过 的每一段路,我一生都不会忘记。友情的无私为我们的大学时光重重地写下了无悔。感谢我 的家人,养育之恩,无以回报。我将用自己最大的努力给你们欣慰。大学四年的生活即将随 着论文的完成划上句号。最后,我感谢大学四年以来给过我帮助和关注的所有人,更加感谢 给过我挫折的所有人。你们用不同的方式给了我成长。 合肥学院计算机科学与技术系毕业论文 27 附附 录录 以下是部分功能的源代码及相关注释: private void getfiledir(string filepath)/获得文件路径 mpath.settext(filepath); items = new arraylist(); paths = new arraylist(); file f = new file(filepath); file files = f.listfiles(); if (!filepath.equals(rootpath)|files=null) items.add(“b1“); paths.add(rootpath); items.add(“b2“); paths.add(f.getparent(); if(files!=null) for (int i = 0; i pathlist; private static list videodatalist; static videodatalist = new arraylist(); pathlist=new arraylist(); public sdcardmedia(context context) contentresolver = context.getcontentresolver(); /* * 获取sd卡的所有视频信息 */ public list getallvideos() /string projection = new stringmediastore.video.media.title; /*第一个参数为访问provider的路径, * 第二个参数为查询的列,null表示所有信息, * 第三个参数为查询条件(通常是where xx=?的形式) ,null表示没有查询条件即查询所有 * 第四个参数为第三个参数中“?“的值(是string数组) ,null表示没有 * 第五个参数是排序 * */ cursor videocursor = contentresolver.query(mediastore.video.media.external_content_uri, null, null,null, mediastore.video.media.default_sort_order); while(videocursor.movetonext() string title = videocursor.getstring(videocursor.getcolumnindex(mediastore.video.media.titl e); string type = videocursor.getstring(videocursor.getcolumnindex(mediastore.video.media.mime _type); long size = videocursor.getlong(videocursor.getcolumnindex(mediastore.video.media.size); string path =videocursor.getstring(videocursor.getcolumnindex(mediastore.video.media.dat a); map videomap = new hashmap(); 合肥学院计算机科学与技术系毕业论文 31 videomap.put(“title“, title); videomap.put(“type“, type); videomap.put(“size“, size); videomap.put(“path“, path); if(videodatalist.isempty()/第一次添加时videodatalist为空 videodatalist.add(videomap); pathlist.add(path); else/之前添加过 if(!pathlist.contains(path)/再次添加的文件不在列表中 pathlist.add(path); videodatalist.add(videomap); videocursor.close(); if(!pathlist.isempty()/如果用户手动删除了sd卡上的文件则将该信息从列表中删除 for (int i = 0; i videomap = new hashmap(); videomap.put(“title“, title); videomap.put(“type“, type); videomap.put(“size“, size); videomap.put(“path“, path); videodatalist.add(videomap); pathlist.add(path); exist=false; return exist; p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人支出月度计划表
- 大健康产业创新发展模式研究与实践
- 钢平台安全施工方案
- 跨部门协作事务处理指南与文书流程
- 汽车后市场智能化服务解决方案
- 三农村电子商务发展模式研究方案
- 初级母婴护理师考试复习测试卷
- 妇产科护理练习试题及答案(一)
- 法律实务案例解析知识题
- 城市绿化与生态保护方案
- 基于单片机的电子广告牌设计
- 应用PDCA管理工具提高病案归档率
- 果蔬自发气调包装原理与应用演示文稿
- DB43T 2428-2022 水利工程管理与保护范围划定技术规范
- SB/T 11016-2013足部保健按摩服务规范
- GB/T 4062-2013三氧化二锑
- 神经系统的结构与神经调节的基本方式 【知识精讲+高效备课】 高考生物一轮复习 (新教材)
- GB/T 15328-2019普通V带疲劳试验方法无扭矩法
- 马克思主义基本原理(完整版)
- 涉密人员脱密期管理制度
- 企业风险管理-战略与绩效整合(中文版)
评论
0/150
提交评论