扩展视频功能的方法及系统的制作方法

文档序号:9371913阅读:457来源:国知局
扩展视频功能的方法及系统的制作方法
【技术领域】
[0001]本发明涉及移动浏览器技术领域,更为具体地,涉及一种扩展视频功能的方法及系统。
【背景技术】
[0002]随着手机、平板等移动设备性能的提高和HTML5 (Hyper Text Markup Language,超文本标记语言)技术的发展,移动浏览器的功能也越来越强大,例如,现如今人们可以无需下载专门的音乐和视频播放软件,而是直接通过浏览器在页面中播放音乐和视频,这无疑给人们的移动生活创造了进一步的便利条件。
[0003]按照HTML5标准的规定,页面中的视频元素与网页其他元素并没有本质上的区另O,网页可以定义元素之间的相互融合和相互遮盖。例如,网页可以定义一张图片飘浮在视频区域的上方,覆盖住视频的一部分区域。HTML5标准还同时规定视频控制条的显示必须受网页的控制,网页开发者只有在Video(视频)标签的属性中增加“controls”(控制)属性,才会显示视频的控制条。
[0004]根据这些标准的规定,浏览器就会较难扩展视频的功能。例如,在非全屏播放的时候,假设网页开发者没有定义控制条,那么视频就没有进入全屏状态的入口,用户则无法全屏观看视频,而浏览器在全屏下提供的各种手势功能、剧集功能等均无法提供给用户使用。另外,假设浏览器在非全屏播放时想提供一个下载当前视频的功能,由于网页开发者事先没有定义控制条,因此也没有区域可以提供下载视频的入口。
[0005]为了解决上述问题,现有主流的浏览器对视频功能扩展有如下两种不同的实现方式。第一种方式采用不扩展视频功能的方式,如不提供剧集、手势控制、下载视频等功能,只完成基础的视频播放功能,若页面没有定义控制条,则视频无法全屏播放,浏览器完成的功能只局限于网页的设定。第二种方式使用Android的VideoView(视频视图)及其他View (视图)播放视频和实现控制条,忽略页面video标签的controls属性,强制让控制条显示、并提供进入全屏按钮,如此,浏览器则能够进入全屏状态,进而实现在全屏状态下的一些功能扩展。
[0006]然而上述两种实现方式均有很大的缺陷:第一,不对视频作扩展无法提供良好的用户体验,产品丧失了优势。第二,使用Android的VideoView及其他View播放视频和实现控制条,虽然可以方便的实现全屏和其他功能的入口,但视频所在的View与页面所在的View为两个不同的Android View,导致视频区域的所有页面元素均会被视频所在的View遮挡住,不仅看不到,也无法响应事件。如此便会导致网站实现的控制条无法显示和被操作,进而对网站本身的功能造成影响。

【发明内容】

[0007]鉴于上述问题,本发明的目的是提供一种扩展视频功能的方法及系统,以在视频区域上提供视频扩展入口,进而在不破坏网页本身的功能的基础上扩展视频功能。
[0008]根据本发明的一个方面,提供一种扩展视频功能的方法,包括:
[0009]当监听到视频区域的播放事件时,创建与视频区域相对应的父View和子View ;其中,父View为透明View,并覆盖视频区域;子View为视频功能的扩展按钮,嵌套在父View中;
[0010]当监听到父View中发生的所述视频区域的点击事件时,在子View中响应视频区域的点击事件,为视频区域提供视频功能的扩展。
[0011]其中,子View被配置为当监听到视频区域的点击事件时,或者视频的播放状态发生改变时,处于显示状态;当未监听到视频区域的点击事件,并经过预定的时间后,处于隐藏状态。
[0012]其中,视频功能的扩展包括:下载功能,和/或视频区域的缩放功能,和/或调节视频清晰度功能。
[0013]其中,父View的位置对应于视频区域的位置改变而改变。
[0014]其中,扩展视频功能的方法还包括:在所述当监听到视频区域的播放事件时,创建与所述视频区域相对应的父View和子View之前,仓ll建与视频区域相对应的Video元素,Video元素用于监听对应视频区域的播放事件以及获取对应视频区域的位置。
[0015]其中,子View嵌套在所述父View的指定位置。
[0016]另一方面,本发明还提供一种扩展视频功能的系统,包括:
[0017]功能扩展创建单元,用于当监听到视频区域的播放事件时,创建与视频区域相对应的父View和子View ;其中,父View为透明View,并覆盖视频区域;子View为视频功能的扩展按钮,嵌套在父View中;
[0018]功能扩展单元,用于当监听到父View中发生的视频区域的点击事件时,在子View中响应视频区域的点击事件,为视频区域提供视频功能的扩展。
[0019]利用上述根据本发明的扩展视频功能的方法及系统,通过在页面的视频区域上方覆盖透明View,同时设置透明View只监听视频区域所发生的点击事件,由于覆盖在视频区域上方的View为透明,因此不会从视觉上遮盖住原有的网页元素,更不会响应视频区域发生的点击事件,而在透明View上布局子View,设置子View拦截并响应视频区域所发生的点击或者播放状态改变事件,由于只有子View才能够响应事件,因此上述方式能够在兼容标准的同时为视频功能的扩展提供入口,不受网页事件分派机制的影响,也不会完全遮盖原有的网页区域,进而在扩展视频功能的同时,不破坏网页本身的功能,提高用户的使用体验。
[0020]为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
【附图说明】
[0021]通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0022]图1为根据本发明实施例的扩展视频功能的方法流程示意图;
[0023]图2为根据本发明实施例的扩展视频功能的方法的详细流程示意图;
[0024]图3为视频功能扩展前的效果图;
[0025]图4为本发明实施例的扩展视频功能后的效果图;
[0026]图5为根据本发明实施例的扩展视频功能的系统的第一逻辑结构框图;
[0027]图6为根据本发明实施例的扩展视频功能的系统的第二逻辑结构框图;
[0028]图7为根据本发明实施例的扩展视频功能的系统的第三逻辑结构框图。
[0029]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0030]以下将结合附图对本发明的具体实施例进行详细描述。
[0031]在对本发明所提供的扩展视频功能的方法进行描述之前,先对本发明所产生的背景原理作一些解释说明。
[0032]网页内容显不在一个Android View(安卓视图)上,这个View叫做WebView(页面视图)。如果其他的Android View放在WebView上方,并且不把这个Android View设为透明,则这个Android View就会从视觉上遮盖住网页的元素,并且优先响应用户的事件。
[0033]Android SDK (Android Software Development Kit,安卓软件开发工具包)提供了两种方式播放视频,其中一种是使用SurfaceTexture。SurfaceTexure不是AndroidView,内部的内容能跟网页内容混合,因此视频是否遮盖住页面的内容、或者是被遮均由网页自已控制。SurfaceTexture不停的绘制在浏览器内核视频所在的Layer上,因此就可以看到播放起来的视频。在视频所在的layer上也可以绘制其他按钮,并监听按钮上点击事件。但是若页面有其他的元素放在视频区域的上方,如一个透明的div(HTML中的一个标签),那么视频将无法收到事件,即用户在视频区域上的按钮时,该按钮不会作任何的响应。
[0034]针对前述现有的视频功能扩展方式存在遮挡页面元素,使网页无法响应事件,进而影响网页本身功能的问题。本发明使用SurfaceTexture绘制视频,通过在页面的视频区域上方覆盖透明View,并在透明View上布局子View,同时设置透明View只监听视频区域所发生的事件,而设置子View拦截并响应视频区域所发生的事件。通过该方式,透明View不会遮盖住原有的网页区域,而子View充当按钮的角色为扩展视频功能提供入口,进而在不破坏网页本身的功能的同时,提高用户的使用体验。
[0035]为了说明本发明所提供的扩展视频功能的方法,图1示出了根据本发明实施例的扩展视频功能的方法流程。
[0036]如图1所示,本发明提供的扩展视频功能的方法包括:
[0037]S110:当监听到视频区域的播放事件时,仓Il建与视频区域相对应的父View和子View ;其
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1