优酷播放器设计和实现 计算机专业_第1页
优酷播放器设计和实现 计算机专业_第2页
优酷播放器设计和实现 计算机专业_第3页
优酷播放器设计和实现 计算机专业_第4页
优酷播放器设计和实现 计算机专业_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要随着智能手机技术的快速发展,在Android,iOS,Windows Phone等智能手机操作系统等手机上实现复杂的计算成为可能,支持视频播放,语音播放等复杂功能。随着互联网技术的不断发展,视频APP也出现在了人们的视野中,被人们广泛使用的有搜狐视频、腾讯、百度视频、芒果TV等,这些移动视频APP满足了人们娱乐需求的同时,也给人们带来了新的烦恼,即同一类型的APP太多,让大众用户虽然可以全方位享受视频娱乐,但是过多的视频APP给人们的选择使用哪一个带来了很多烦恼。同时,像这类视频 App 的安装包大小普遍偏大,平均大小达 20MB,在有限的手机存储空间下,这无疑又给用户增加了负担。再者,很

2、多 App 为了控制版权,增加收益收益,只提供在线播放,不提供下载,而据统计超过 20%的用户是离线下载观看的。YouKu成立于2006年,是中国领先的视频分享网站,创办人Koo Koo。也就是原搜狐副总裁顾先生,凭借多年的互联网运营技术和经验,向社会群体推出了一款大众自由发布、搜索引擎先进、播放流畅的移动娱乐视频网站,也就是可以自由发声的优酷视频,因为优酷人性化的体验,迅速占领了视频媒体市场,赢得了广大用户的信赖和喜爱。越来越多的应用软件被开发到手机上,为用户提供便捷的服务。近年来Android在智能手机行业的成功应用对于基于Android平台的优酷软件的开发具有特别的吸引力。除手机应用软件

3、外的Android系统在其他行业也得到了广泛的应用。其中为代表的交互式网络电视就是以Android系统为基础研发而出的。Android系统手机上的IPTV不能满足用户对点播、直播、多屏互动等娱乐事项的需求。所以,从当下满足用户需求的角度出发,以Android系统技术为基础的交互式网络电视走入了人们的生活当中。关键词: Android; 优酷视频播放器; 软件分析Analysis of Youku Player Software Based on Android PlatformAbstractWith the rapid development of smart phone technolog

4、y, it has become possible to implement complicated calculations on mobile phones, such as Android, smartphone operating systems such as iOS and Windows Phone, and the like, and support complex functions such as video playback and voice playback.With the continuous development of Internet technology,

5、 video APP also appears in the peoples perspective, has been widely used Sohu video, Tencent, Baidu video, mango TV, these mobile video APP to meet peoples entertainment needs at the same time Bringing new troubles to the people, that is, too many APPs of the same type, so that mass users can enjoy

6、video entertainment in all aspects, but too many video APPs bring a lot of troubles for people to choose which one to use. At the same time, such as the size of the video application installation package size is generally large, with an average size of 20MB, limited phone memory space, which undoubt

7、edly adds to the burden on the user. In addition, many apps control the copyright and increase revenue. They only provide online play and no download. According to statistics, more than 20% of users download offline.Founded in 2006, YouKu is Chinas leading video sharing website, founder Koo Koo, for

8、merly Mr. Gu, the former vice president of Sohu. With years of Internet operating skills and experience, YouKu launched a mass free release to social groups. The search engine Advanced, smooth playback of mobile entertainment video site, that is, you can freely voice Youku video, because Youku human

9、e experience, quickly occupied the video media market, has won the trust and love of the majority of users. More and more applications have been developed to mobile phones to provide users with convenient services.In recent years, the successful application of Android in the smartphone industry is p

10、articularly attractive for the development of Youku software based on the Android platform. In addition to the mobile application software, Android system has also been widely used in other industries. Among them, the representative of the interactive Internet TV is based on the Android system devel

11、oped. IPTV on the Android system mobile phone can not meet user demand for entertainment items such as on-demand, live broadcast and multi-screen interaction. Therefore, from the moment to meet the needs of users, based on the Android system technology-based interactive Internet TV into peoples live

12、s.Key words: Android; Youku; video player; software analysis目录 TOC o 1-2 h z u HYPERLINK l _Toc503294786 第一章 优酷软件概述 PAGEREF _Toc503294786 h 1 HYPERLINK l _Toc503294787 1.1选题背景 PAGEREF _Toc503294787 h 1 HYPERLINK l _Toc503294788 1.2优酷简介 PAGEREF _Toc503294788 h 1 HYPERLINK l _Toc503294789 1.3优酷软件的特点 P

13、AGEREF _Toc503294789 h 2 HYPERLINK l _Toc503294790 第二章 Android平台的优酷播放器软件市场分析 PAGEREF _Toc503294790 h 3 HYPERLINK l _Toc503294791 2.1竞争压力 PAGEREF _Toc503294791 h 3 HYPERLINK l _Toc503294792 2.2节约成本 PAGEREF _Toc503294792 h 4 HYPERLINK l _Toc503294793 2.3提高市场份额 PAGEREF _Toc503294793 h 6 HYPERLINK l _To

14、c503294794 第三章 主要技术点介绍 PAGEREF _Toc503294794 h 8 HYPERLINK l _Toc503294795 3.1Android Webview Java和Javascript交互介绍 PAGEREF _Toc503294795 h 8 HYPERLINK l _Toc503294796 3.2多线程断点续传介绍 PAGEREF _Toc503294796 h 10 HYPERLINK l _Toc503294797 3.3多媒体视频处理工具FFmpeg介绍 PAGEREF _Toc503294797 h 11 HYPERLINK l _Toc5032

15、94798 3.4 Android图片异步加载框架介绍 PAGEREF _Toc503294798 h 12 HYPERLINK l _Toc503294799 3.5本章小结 PAGEREF _Toc503294799 h 13 HYPERLINK l _Toc503294800 第四章 操作流程介绍 PAGEREF _Toc503294800 h 14 HYPERLINK l _Toc503294801 4.1客户端总体功能 PAGEREF _Toc503294801 h 14 HYPERLINK l _Toc503294802 4.2导航站点首页 PAGEREF _Toc50329480

16、2 h 15 HYPERLINK l _Toc503294803 4.3电影筛选功能 PAGEREF _Toc503294803 h 16 HYPERLINK l _Toc503294804 4.4电视剧筛选功能 PAGEREF _Toc503294804 h 16 HYPERLINK l _Toc503294805 4.5下载模块 PAGEREF _Toc503294805 h 17 HYPERLINK l _Toc503294806 第五章 总结与展望 PAGEREF _Toc503294806 h 19 HYPERLINK l _Toc503294807 5.1总结 PAGEREF _T

17、oc503294807 h 19 HYPERLINK l _Toc503294808 5.2展望 PAGEREF _Toc503294808 h 19 HYPERLINK l _Toc503294809 参考文献 PAGEREF _Toc503294809 h 20 HYPERLINK l _Toc503294810 致谢 PAGEREF _Toc503294810 h 22优酷软件概述1.1选题背景Android系统在互联网技术的今天得到了很广泛的应用,尤其是在其基础上再次开发的智能嵌入式系统技术,更加满足了用户追求个性化和多元化的需求,其中为代表的是智能电视和数字机顶盒的问世把这项技术推向

18、了一个更高的里程碑1。在这种发展趋势的大环境下,优酷基于手机端口的优酷视频业务,特别是流媒体的播放、控制、多屏互动功能不断被用户使用2。所以,为了不流失大众用户和公司业务,公司在手机Android操作系统的基础上做出了巨大的投入和开发,让手机移动端用户可以在优酷视频体验到多屏互动、视频播放、点播等功能。所以,相关的开发项目问世:基于Android的优酷流媒体播放器的设计与实现。1.2优酷简介YouKu成立于2006年,是中国领先的视频分享网站,创办人Koo Koo。在设立优酷之前,顾先生是搜狐公司的副总裁,在互联网行业的运营和管理方面非常有经验。优酷的产品功能主张一言一语:播放速度快,发布速度

19、快,搜索速度快,所以优酷曾经推出吸引了大量用户,成为用户最喜爱的视频媒体。优酷将自己定位为中国主流视频平台,建立起类似于美国“YouToBe”的商业模式,是为用户提供专用的自制视频发布和观看其他平台的视频,后来更改为“YouToBe+Hulu“模式,既提供视频分享平台,同时购买视频资源(如视频资源等)供用户观看,现在逐步向上下游产业延伸,涉及影视制作,发行,传播和信息收集,出版等各个方面,并不断实践“三网融合”的使命,现已覆盖PC,电视,移动终端,兼具视频,多样,信息化的各种视频制作,播出,发行三通3。优酷网于2010年12月8日在纽约证券交易所成功上市,共发行1584.87万美元存托股份,总

20、额2.03亿美元。它成为美国第一个在美国上市的国内视频网站。优酷由古永锵在2006年6月21日创立,2006年12月21日正式上线。发展到现阶段,优酷已成为了阿里巴巴旗下的视频平台。从统计数据来分析,土豆和优酷是两个成熟的视频平台,从客户端讲,支持电视、移动端、电脑端,具体从直播、频道、自制节目、合成视频等方面看,其能满足用户的功能需求,播放量也达到了每天11.8亿次,播放内容涵盖了教育、游戏、产品推广、直播、支付、艺人表演等一系列生活内容,真正的建立起一条从内容的生产到成品,再到宣传,被人们熟知的成熟的娱乐文化系统。2016年12月21日,优酷宣布推出全新品牌标识系统。新LOGO色彩更明亮、

21、设计更清新、更具动感,充满青春气息,优酷APP的图标也焕然一新,成为红蓝两点动态旋转的播放按钮。新的标志是一个全方位的,从前两个连接和互动开始,触发无限的可能性。优酷的理念引导也发生了一系列的变化,也更符合当下大众用户的个性追求,即“这个世界非常酷”,挖掘了人类探索追求新事物的本来面目,表达出对这个世界的无限热爱4。有影响力的内容是优酷引领文化娱乐的最主要的核心武器。战略上主张播放内容惊喜完美化、排播自由化的模式,采用3+X(3为欢乐喜剧、燃血青春、纯美绝恋,X为超级热剧)为方向持续打造爆款剧集,搭建6+V(6为脱品秀、喜剧、真人秀、亲子类、偶像养成、视频,V为垂直爆款)的综艺新矩阵,建立自主

22、排播体系,为业务健康发展打下坚实基础5 。1.3优酷软件的特点优酷拥有世界级的风险投资支持,是视频领域已获得超过1亿元风险投资。遥遥领先于其他视频平台,风险投资者包括Sutter Hill Ventures投资企业与基金企业Farallon Capital,此处Chengwei Ventures基金是中国唯一一个对其投资的公司,上述风投企业因为自身资金和技术都占有很大的优势,为优酷网的长期稳健发展提供了充足的资源。品牌文化定位:开放多元的青春娱乐平台Slogan:这世界很酷使命:让年轻人的娱乐更阳光愿景:年轻人最爱的文娱第一站承诺:文娱酷体验个性:阳光、活力、有趣、新玩家利益点:精品内容、人性

23、体验、智慧推荐、文娱互联Android平台的优酷播放器软件市场分析随着观众观看视频习惯的变化,观众在长时间观看视频资源的时间和提升客户的优势上更加突出,虽然优酷合并后马铃薯已经加大了对长视频领域的投入,但由于财力有限,因为优酷与马铃薯合作后还是处于自主业务状态,使得其中的视频资源和产品出现重复。现如今随着人们版权意识的不断增强优酷已接近盈利水平。在2003年第三季度购入土豆后,企业仍处于亏本情况。但是2014年2月28日,优酷土豆公司发布了在刚刚结束的13年第四季度中网络视频行业已经达到了盈利的目的,实现了收入高于成本的一个里程碑。可以说是中国首家网络视频行业做到盈利的企业6。在2015年第一

24、季度,爱奇艺在移动端行业以及整体行业份额、付费顾客数目方面都超过了优酷土豆,当年8月,优酷土豆企业改名为合一集团。当年10月,阿里集团发布了购入合一集团的消息。2016年3月14日,优酷土豆公布了公司在2015年11月的私有化合同。2.1竞争压力自2005年后,信息时代飞速发展,土豆网和优酷网开发出一种可以在网上观看的视频平台,随后因为广受大家喜爱,线上视频这个行业得到发展。在2007年,各大国内外企业纷纷投入资金在此行业。资金的充裕使得视频网站公司进行量变,07年年底国内的总共视频网站数量超过了300家。然而因为08年世界金融危机的出现,大部分公司资金链发生问题,因此网络视频领域内随之出现企

25、业并购的现象。随着各网络视频网站的“较量”,在2009年,我国制定与之相关的方针政策,开始规范互联网的视听环境。今年,有一场有关于正版视频版权问题的辩论赛,众视频网站纷纷为了得到正版而且超清的资源而花费巨额资金,这种现象在网络视频行业中十分普遍。因为在资源方面的竞争越来越激烈,正版高清的视频资源也被标上高价,因为争夺资源各网站之间的诉讼案件也多了起来。特别是多个网站组建的“反盗版联盟”,其中优酷与土豆两大网站被称为“第二大公司”,版权官司大幅增加。2010年,中国还颁布了网络视频版权保护条例,条例的发布使得版权诉讼事件更加繁多。 众多网站花费巨额财产来得到版权,尤其是独家播出版权,为了吸引更多

26、观看流量和提升观看适宜度,各大网站还开发出自家的网络电视剧、微电影等视频。因为各视频网站的激烈竞争以及高额的版权开销和收入的降低,使得行业中的并购现象严重,各大视频网站都出现了运营问题,例如56网站的运营被全网合并,盛大合并酷6网。另外,优酷虽然在2012年中国视频领域位于首位,然而伴随爱奇艺与腾讯视频的规模持续扩张,优酷开始面对猛烈的市场竞争。因为爱奇艺和腾讯视频的背后都是互联网巨头企业,而百度和腾讯又是其第一大“股东”,所以在这场激烈的竞争中两家公司有明显的优势,有实力并且可用高额的资产购入众多高清视频资源,能吸引更多的用户。面对挑战,优酷在分析市场环境后,决定与主要竞争对手马铃薯合作以减

27、轻竞争压力。2.2节约成本在网络视频市场与优酷合并之前,用户数量是业内最高的。但是,当时公司流动性和盈利方面存在阻碍,以至于其存在多年仍旧处于亏本状态。根据下图的优酷年度财务报表分析,我们可以发现亏本的主要原因在于收入并不能与高额成本相抵,其次运营费用巨大,所以才会出现亏本的经营状况。优酷在始终亏本的状况下,土豆持续减少成本,促使效益和运作成本持平。图2-1优酷历年亏损情况信息源自:优酷年报1.减少内容费用,进而减少综合费用优酷的营收和运营成本每年都在增长,但营业收入增长速度明显放慢,运营成本增长速度从2009年开始版权战后开始,但年增长率在40左右,说明优酷的盈利能力缩小。图2-2优酷历年营

28、业收入、成本增长比较信息源自:优酷年报因为宽带成本在此领域内具有不可撼动的地位。宽带成本是指为了让客户在观看视频上更加舒适而在技术提升上花费的成本,但是流量是影响宽带成本的一个重要因素。而对于内容成本便是指通过购买视频从而获得播放版权的花费。为了保持在版权竞争中的市场地位,优酷也花费大量的视频版权来抢夺版权。从优酷的年度财务报表中得出,企业每年消耗巨额资金在此方面,这个比重占总收入的成本呈现大幅上升趋势,2008年的内容成本仅为1000万美元,占收入的不到7 成本到2011年已经增加到了2.43亿美元,占2011年总收入的35左右,也就是指优酷在购入资源方面所花费的资金占总资金量的百分之三十五

29、,整个优酷内容运营运营 可以看出作用8。截至2011年底,优酷网共有2600个视频资源,其中有2111个电视剧,613个综艺类视频,还与1600家视频提供商签订了合作关系。从2009年起,土豆也将购买视频资源的力度增加,拥有了众多视频版权。优酷在购入土豆后,有了共享视频资源的好处。更重要的是,两视频网站的合并,不仅提升了资源的互用率,而且大幅降低了内容成本,进而能使盈利补上亏空。图2-3优酷内容成本和在营业成本内的比值 信息源自:优酷年报2.降低营销成本进而缩减营业成本从优酷的年度报表数据中,可以看到优酷终于在2011年营业利润为正。 但经营亏损依旧是1.83亿元,一般是经营成本3.83亿元不

30、断增加导致的9。而最关键的营业成本依旧是营销。优酷营销成本年年提高,营销成本在2010年营业费用的比值超过50,甚至高达68.37。上述比值在2011年有所下降,然而超过一半,最高超过两亿元。图2-4优酷营业费用和运营亏损情况图2-5优酷网营销费用在索爷费用内所占比值信息源自:优酷年报用户持续增多是视频网站盈利的一个重要方式,只有用户人数跟上了,广告商看到有利可图后续才能引入广告等等之类的各种可盈利项目。视频行业跟随着新媒体不断的高速发展各视频网站都加大了资金的投入力度,例如奇异奇异,优酷所面对的竞争更加激烈。由于优酷在发展新用户资源方面投入了大量资金,这也使得其自身成本过高,短期内盈利较为困

31、难。对此,优酷做出了购入土豆的决定,通过合并将二者在用户资源方面的竞争成本进行了降低。这也可以看出合并是优酷最明智的办法。在吸引年轻用户群体上,土豆有更明显的优势。用户在选择视频网站时偏向于更简洁、多元化的,而土豆和优酷的结合,迎合了用户的选择,也会因此吸引更多的广告主。因此,优酷与土豆的结合对优酷的发展起到了很关键的作用,优酷的成本可得到大幅降低并可开始实现盈利10。2.3提高市场份额根据我国网络信息组织披露的相关报表可知,在2012年初期,在用户数目上,优酷为1.41亿,马铃薯为1.09亿,主要占据在线视频用户人数的52.9与41.1。优酷创办者古永锵指出:“优酷和土豆双方共同占据我国视频

32、市场份额的80。”用户份额是广告收入的保障。下图是中国网络视频行业2011年第四季度在广告收入方面的报表,优酷位居首位,市场份额占21.8,土豆与搜狐的差距不大,介于13-14。市场份额的大幅提升是优酷和土豆共同合作才取得的成果,换作其他任何一个网站都做不到。市场份额的扩大也说明广告主为了达到广告效果,在选择视频平台时一定会更加倾向于更加优质的网站,提升两者在各个部分的广告谈判水平 12 。图2-6 2011年第四季度中国网络视频市场广告收入份额信息源自:中国互联网络信息中心由于内容与宽带成本在互联网视频领域内所占比值较高,技术的年度成本占宽带技术投资的很大一部分,以及购买视频资产的成本。所以

33、,视频行业的规模可以不断扩大,盈利效果也是能得到大幅度提升的。并且随着市场的不断开发,技术和内容方面会更加成熟,虽然成本增加,但是边际成本也会随之降低,规模效益会得到实现。从2-7图中看出,优酷一开始就进行了这种模式 。近可能的开发用户资源,会使企业的单位成本减少。在网络视频行业中市场规模的扩大可对技术的进步和产业的发展起到积极影响。所以优酷和土豆两者合并能够扩展运作规模,实现规模效应。在美国的视频行业里,竞争处于一级的企业只有三家,然而我国优酷,土豆,搜狐高清等在当时分别处于国内几个视频行业公司的旗下,所以当时无法形成规模化,更谈不上产生规模效益。但自从优酷土豆合并后,其市场份额在不断增加,

34、所以我们应尽力将成本降低,追求规模效益。图2-7优酷每单位营业收入所需的平均营业成本 主要技术点介绍3.1Android Webview Java和Javascript交互介绍3.1.1基本概念在前文的基础上,提出了本项目的核心内容,即通过脚本设计来实现对视频网站的分析,进而吸引用户进行在线观看,并对客户的视频下载信息源进行获取。对此,我们采用了Android Webview Java和Javascript交互技术来加以实现。1 .Webview在Android手机里具有一个高性能的webkit内核浏览器,被称为WebView。网页加载可以通过技术人员利用WebView(网络视图)显示出来。这

35、类浏览器较为简单,网页一般可由webkit渲染引擎加载的webview进行显现13。在Android里,WebView是这样被使用的:先要对网络权限进行添加:因为要加载出网页,因此您必须通过向AndroidManifest.xml文件添加以下权限声明来请求Android项目中的网络访问:此后,在要使用WebView的Activity中创建单独的WebView实例。 代码为:WebView mwb = new WebView(context);之后,创建WebView实例以后,需要对WebView进行相应的设定:/设置webview支持Javascriptmwb .getSettings().s

36、etJavaScriptEnabled(true);/ webview获取焦点mwb .requestFocus();/取消webview的滚动条mwb .setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY);最终,在结束webview的主要设置以后,开始使用WevView加载网页。 示例代码详情为:/加载互联网网页mwb .loadUrl();/加载本地文件,本地文件存储到android项目的assets文件夹内mwb .loadUrl(file:/android_ asset/demo.html);在项目内,项目链接的开启除了可利用android系统意

37、图启动浏览器来操作之外,很多项目需要点击的链接并非由android系统意图启动浏览器来进行,可以利用技术人员手动打开。此时,开发人员需要在WebView实例对象内增加事件监听器WebViewClient,且重写WebViewClient shouldOverrideUrlLoading方式,代码为:public boolean shouldOverrideUrlLoading(WebView wb,String url)/重写加载实现wb.loadUrl(url);return true;另外,还可以利用其余方式进行重写:(1)对请求链接开始时的事件进行处理时,如此重写::public voi

38、d onPageStarted(WebView wb, String url, Bitmap bmp)/此处可进行进度显示loadingView.setVisible(View.Visible);(2)对打开请求链接之前的事件进行处理时,如此重写:public boolean shouldOverrideUrlLoading(WebView wb, String url)/重写加载实现wb.loadUrl(url);return true;(3)在处理Http时,如此开展请求方法重写:onReceivedHttpAuthRequest(WebView wb, HttpAuthHandler h

39、d, String h, String rm)(4)对请求链接完成时的事件进行处理时,如此重写:public void onPageFinished(WebView wb, String url)/这里可以进行进度的隐藏loadingView.setVisible(View.Gone);2. JavaJava是大众相对了解的面向对象的编程语言,目前是普及范围广泛的跨平台语言。 在语言排名的全新标准中,Java依据位于前排。 因此可知Java语言技术使用范围广泛,相对高效和稳定,此外平台可移植性突出,所以Java语言技术被全面使用,例如android平台,web平台,window平台,涉及全部行

40、业的互联网14。Java是由Sun介绍的Java面向对象编程语言和Java平台的总称。 Java分为三个系统,即Java SE(J2SE,Java2平台标准版,标准版),JavaEE(J2EE,Java 2平台,企业版,企业版),Java ME(J2ME,Java 2 Platform Micro Edition,Micro Edition)3. JavascriptJavaScript是脚本语言中最为常用的。 在浏览器里,JavaScript引擎是JavaScript脚本语言的解释器;对于web技术人员来讲,jQuery必须也要运用好,其在其开发中经常被用到,jQuery是JavaScrip

41、t的上层包。3.1.2交互实现1. Webview中的js脚本调用Android本地Java代码最先在webview实例的一个javascriptInterface js脚本中实施绑定且对Java代码实施调用。wb.addJavascriptInterface(new DemoTestJavaScriptInterface(), demotest);DemoTestJavaScriptInterface本质上是相对普通的Java类,其是本地Java代码,把对象传递给webview,且确定别名demotest,便于js脚本利用我们确定的别名调用我们的方法,比如:JS调用JAVA2. Androi

42、d中的本地Java代码调用webview中的js脚本首先web开放js支持,是基础web.getSettings(). setJavaScriptEnabled(true); /启用js加载webview的loadUrl方法web.loadUrl(“file:/android_asset/demotest.html”); /从资产目录下加载html/不带参数的Java实现调用js函数web.loadUrl(“javascript:javacalljs()”);3.Android中本地Java代码调用js并传递参数,示例如下:wb.loadUrl(javascript:javacalljs( +

43、dog+”)”);/dog是js的函数j avacallj s()的参数。4.js代码调用android中本地Java函数并传递参数JS调用JAVA带参数3.2多线程断点续传介绍要想客户端能够实现下载,就必须要应用好多线程HTTP技术。3.2.1断点续传原理在软件的下载任务里,任务一般会被分为几个部分,这时往往是通过一个线程对部分软硬件条件进行下载。但是,在断点续传的原理里,任务在下载过程中,网络可能信号不好失去连接,这时多线程下载会保证数据不丢失连接,而是从断开位置继续进行下载。断点续传下的多线程并发下载,不仅可以大幅提高任务下载速度,还可节约下载时间,便利了用户。在恢复HTTP的过程中,文

44、件不需要重头下载而是在被中断位置继续下载就行15。对断点续传原理的总结如下:首先,在HTTP的支持下,任务可实现多线程同时下载。另外,其还可以大幅提高任务下载速度,节约任务下载时间,便利用户。在下载软件中,用户可同时下载多个任务,任务会在要求时间内下载,下载结束之后自动暂停。3.2.2多线程断点续传原理图图3-1多线程断点续传原理图多线程HTTP的每个线程的下载进度可通过数据库进行保存,其中数据表含有:threadId,position,downloadurl; 多线程断点的复原流程为:1、下载任务开始之后连接服务器了解文件大小。2、检查数据库内的任务。3、检查后若任务存在,则对各线程的下载进

45、度进行读取。4、检查后若任务存在,则将各线程分开进行下载。5、对各线程进行启动并开始文件下载,并对数据库里各线程的下载位置进行同步更新。6、对线程里的所有任务下载状态进行检查。 已完成下载就立即停止。3.3多媒体视频处理工具FFmpeg介绍3.3.1 FFmpeg介绍FFmpeg属于重要的开源工具,可以处理多媒体文件,为视频捕捉,视频格式转换,视频捕捉,视频水印等强大有用的功能提供了一个完整的多媒体处理解决方案。很多多媒体开发框架都基于FFmpeg开发,如下面将介绍的Vitamin,甚至许多基于FFmpeg开发的视频软件播放器16。此外,其他很多多媒体处理软件也是通过FFmpeg开源工具进行开

46、发的。3.3.2第三方多媒体开发框架Vitamin介绍 Vitamin是一个基于FFmpeg深度开发的多媒体开发框架。 支持Android与iOS平台,在维生素上全面完成硬件解码与GPU渲染。 维生素驱动的播放器不只支持主流的视频文件格式(MP4,3GP,AVI,FLV,MKV等),此外也支持部分重要的视频流协议(rtsp,rtmp)。其次,支持高清视频的顺利播放。Android系统具备的mediaplayer仅支持http与rtsp等重要的媒体协议,开发者一般会寻求第三方播放器内核,如此就可以播放现实中比较普遍的多媒体协议,乃至按需而活,维生素是这样的Tripartite多媒体开发框架。 顾

47、客玩家的主题是使用Vitamin sdk17。3.4 Android图片异步加载框架介绍翻译时出错众所周知众所周知,在Android客户端加载且呈现图片时,假如Bitmap与管理内存无法按时发布,OOM(Out Of Memory)容易出现,因此高质量的图片加载框架会影响客户端的质量。3.4.1 LRU算法LRU是近期最少应用的算法,最近最少使用的全名。这个算法常常用于内存管理页面的替换,它可以判断LRU 的内存,这样通过释放其内存空间用来储存或者载入其余信息。图像加载框架采用上述算法来确保图像平滑显示与科学应用内存。3.4.2Android-Universal-Image-Loader介绍

48、Android-Universal-Image-Loade:属于开源的图片加载组件。表现出下面的特征:1. 多线程下载图片,图片能从网络,文件系统,项目文件夹资产与可绘制介质。2. 支持所有配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存方案,图片显示选项等配置。3. 支持图像内存以及文件系统、SD卡等缓存。4.支持图片下载环节监管。5. 依照控件(ImageView)Bitmap裁剪的规格,降低Bitmap占用的内存。6. 可以相对精准的管控图片加载环节,比如暂停、开始图片加载等。一般在ListView,GridView中出现,滑动时期可暂停加载,反之就能够顺利加载

49、。7. 在慢速网络中提供以加载图片。3.4.3 Android-Universal-Image-Loader实现原理图2-2 Android-Universal-Image-Loader实现原理图图片加载的主要流程为:1、统计图像位图显示区域的多少。2、查看位图是否出现在内存中。3、假如在内存中,则可以删除显示。4、假如不在,查看位图是否在SD卡中。5、假如在SD卡,图片文件解码。6、假如不在,需要从网络下载图片且实施解码。7、结束之后对图片实施解码,此外明确解码图片是否需要放到内存。3.5本章小结该章节从Android Webview,Java和Javascript这几个编程语言的概念切入,

50、并讲述其共同之处;紧接着从下载模块的实现,也就是多线程断点的实现原理这一最重要的模块实现仔细讲述;之后便介绍了FFmpeg(一种用于播放器的多媒体视频解码工具)和第三方多媒体的开发结构,维生素; 最终是Android图片异步加载框架的完成。这几点主要是技术开发过程和客户体验方面的核心和各种难点。操作流程介绍在视频聚合客户端里,,用户可以借助App来欣赏视频和音乐。 在本章,对客户端的主要模块和接口设计进行了一定的介绍。4.1客户端总体功能图4-1总体功能模块图1.首页推荐模块该模块由以下内容组成:导航站点,音乐,电影,还有电视剧,短视频以及应用和在线电视。2.下载模块在该模块中用户可以对视频资

51、源进行下载,并可储存于网盘中;下载还可通过多线程HTTP进行。3.播放器模块在该模块,用户可播放音乐和视频。4.分享模块用户可以通过这个模块对内容进行分享,还可通过上传客户端进行分享。5.搜索模块用户可在这个模块里对客户端中的所有资源进行搜索。6.用户模块用户在该模块可对app进行试用,登录,以及登陆或注册谷歌和脸书等app。7.更多模块除以上功能外,客户端还有其他丰富多样的功能,包含浏览网页历史,播放历史以及对资源进行收藏等等。8.消息推送模块在客户端的轮询和GCM唤醒的相互作用下,客户端可对用户进行消息的实时推送。消息列表可通过客户端后台的常驻服务定时轮询进行获取。消息列表会被客户端定时轮

52、询,并在列表中进行定时显示。后台常驻服务也可被服务端定时发送GCM唤醒指令进行唤醒18。4.2导航站点首页图4-1导航站点首页界面如图4-1所示,用户首先看到的就是导航站点界面,因此其必须具备较好的兼容性,稳定性,反应速度也必须快。1. 该界面采用九宫格型设计,行数上并不统一,由于屏幕大小的差异,不同的手机屏幕上每行显示的应用数量也不同,一般是为4个。 此外,其还拥有了gridview的功能,覆盖android的gridview控件,可对网站进行长按拖动。2. 在导航网站里,数据可同步进行跟新,其通过对本地数据库中的sqlite进行读取得以显示,反应速度很快,网络信号也很好。3在导航网站界面对

53、网站图标进行长按,网站的左上角会出现一个红十字按钮,会有振动,偏大,说明网站可以被拖动,用户可以自定义自己喜欢的网站排序顺序。 红叉按钮,您可以从家中删除该网站,进入候选人列表。4. 点击网站图标进入频道界面。 点击图标更改网站图标的左上角4.3电影筛选功能1. 横幅推荐:类似于光的效果,5秒滚动一张图片,滚动周期。其可通过定时器和viewpager的相互配合显示出来。 横幅会有两种建议形式,一种是电影推荐,点击后会进入电影的详情页,另一种是广告推荐,点击后进入webview界面。2. 分类推荐:在列表上还可对内容进行分类推荐,其通过listview控件进行控制,将分类后的电影都用九宫格的形式

54、加以呈现,使用重写滚动gridview。这样进行分类后,可对分类项目进行实时的改动和扩展。3. 每个类别的底部都有一个主按钮按钮,点击按钮进入完整的分类列表,用户可以查看该分类的更多影片。用户可通过点击各类别底部上的主按钮进入不同的分列表里,进而可以欣赏不同分类下的其他影片。4. 在主页右下角的电影模块中有一个过滤按钮,点击按钮进入过滤界面。 图4-2电影筛选功能界面如图4-2所示,电影筛选功能界面由以下两部分构成:1.筛选列表:主要有:所有地区; 所有类型; 时间范围; 有限的豁免; 起到模块的作用。 类似于主页和推荐类别的实现,listview + gridview,每个筛选类别是单选,分

55、类和分类是相关的。2.筛选结果:通过对android gridview控件进行使用来对电影进行筛选,筛选后结果以九宫格的形式呈现。在筛选出结果后,可进行分页加载。当用户手指滑动到界面底部时,下一页数据可被自动加载并显示出来。当用户还想对电影进行重新筛选时,可返回重按右上角的重新选择按钮,重新返回筛选界面对电影进行筛选19。4.4电视剧筛选功能1.横幅推荐:效果与走马灯相似,5秒滚动一张图片,滚动周期,其可通过定时器和viewpager的相互配合显示出来。 横幅会有两种建议形式,一种是电视剧推荐,点击后会进入电视剧的详情页,另一种是广告推荐,点击后进入webview界面。2.订阅分类: 用户可通

56、过电视剧详情页对电视剧进行订阅,它将出现在主页上的MyTvShows类别中。在订阅类别中,只有前两个订阅才可被显示。客户要想对所有的订阅电视剧进行查看,可通过主按钮键点击进入到“MyTvShows”分类列表进行查看。3.分类推荐: 在列表上还可对内容进行分类推荐,其通过listview控件进行控制。每个分类的戏剧都是用九宫格显示的,使用改写的滚动gridview,这样进行分类后,可对分类项目进行实时的改动和扩展。4. 用户可通过点击各分类界面底部的主按钮键分别进入不同的分类列表。 图4-3电视剧模块筛选功能界面如图4-3所示,电视剧筛选功能界面由以下两部分构成:1.筛选列表: 主要有:所有地区

57、; 所有类型; 时间范围; 有限的豁免; 起到模块的作用。 类似于主页和推荐类别的实现,listview + gridview,每个筛选类别是单选,分类和分类是相关的。2.筛选结果: 通过对android gridview控件进行使用来对电视剧进行筛选,筛选后结果以九宫格的形式呈现。在筛选出结果后,可进行分页加载。当用户手指滑动到界面底部时,下一页数据可被自动加载并显示出来。当用户还想对电视剧进行重新筛选时,可返回重按右上角的重新选择按钮,重新返回筛选界面对电视剧进行筛选。4.5下载模块1、下载中列表在用户可通过这个列表对资源的下载进度进行了解,可以看到资源的下载速度,资源大小,以及下载状态等

58、。在低端手机里,只可对一个任务进行同时下载,而在高端机中,则可同时进行两个任务的下载。其中,不同的网络条件下,任务下载的线程数是不一样的,在2g/3g的网络条件下一般为2,在wifi的网络条件下一般则为4。这都是可以通过设置进行更改的。在任务下载的过程里,任务的下载信息还可通过系统托盘进行实时显示。即使用户退出了客户端,任务的相关下载信息也会被看到20。此外,在下载列表里,还可进行暂停,开始,分享,删除等系统操作。2、已下载列表下载的资源一般会以视频,音频和apk三种不同的文件类型在下载列表中呈现。视频和音乐都可通过点击音频播放器进行播放。而应用程序的安装则可通过点击apk来对apk安装程序进行调用来实现。此外,下载任务的文件类型以及文件大小,下载时间,文件名是否有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论