一种安卓智能终端浏览器视频显示方法及装置的制造方法

文档序号:9687127阅读:405来源:国知局
一种安卓智能终端浏览器视频显示方法及装置的制造方法
【技术领域】
[0001]本发明涉及页面显示技术领域,尤其涉及一种安卓智能终端浏览器视频显示方法及装置。
【背景技术】
[0002]随着触屏式智能终端的普及和网络技术的发展,越来越多的用户使用触屏式智能终端享受随时随地上网和观看视频的便利。用户在观看视频时,如果希望同时在视频所在网页上查看相关视频或其他信息,通常会使用网页内嵌视频的播放方式,在这种播放方式下,视频内嵌于网页中,且用户滑屏(例如移动和缩放操作)或者切换横竖屏使网页页面移动或缩放时,视频会跟随网页页面一起移动或缩放。
[0003]目前触屏式智能终端中,基于Linux自由及开放源代码的Android(安卓)系统是使用最为广泛的操作系统,占据触屏式智能终端操作系统超过78%的份额。Android系统的触屏智能终端中,View树(视图树)为视图显示的基础构件,需要显示的视图加入View树后才能显示。网页显示的实现,是在View树中添加WebView (网页视图,安卓系统的webkit内核浏览器生成的显示网页的视图),WebView则对网页内容进行绘制,并显示绘制得到的网页页面。
[0004]现阶段Android系统浏览器内嵌视频的实现方案,则是将VideoView(视频视图,Android系统提供的一个媒体播放显示和控制的控件)作为WebView的子视图(ChildView,或称为子View),由WebView进行绘制和显示。当用户选择了网页页面并滑屏,或者切换横竖屏时,WebView响应用户的动作进行移动和缩放,并重新绘制包括子View在内的网页内容,包括重新绘制VideoView,使VideoView跟随WebView移动和缩放,从用户角度看,视频会跟着网页页面一起变化。
[0005]发明人在实现本发明的过程中发现,现阶段Android系统浏览器内嵌视频的实现方案,由于在WebView上增加了 VideoView,即VideoView为WebView的子视图,导致在响应用户的动作,WebView进行重新绘制时,同时对VideoView也进行重新绘制,而VideoView的绘制通常会占据很多CPU资源,从而使网页绘制的处理时间变长,页面变化的帧率降低,页面变化变得卡顿。而且即使视频已经滑出了手机屏幕的可见范围,也依然会对VideoView进行重新绘制,导致滑屏时页面仍然无法顺畅地移动和缩放。因此,在有视频的页面,用户滑屏或者缩放操作时会出现卡顿现象。

【发明内容】

[0006]为克服相关技术中浏览器内嵌视频播放方式下页面变化时出现页面卡顿的问题,本申请提供一种安卓智能终端浏览器视频显示方法及装置。
[0007]根据本申请实施例的第一方面,提供一种安卓智能终端浏览器视频显示方法,包括:
[0008]在视图树中添加透明视图,所述透明视图与网页视图拥有相同的基础视图,所述透明视图层叠覆盖于网页视图之前,且与网页视图的大小和比例相同;
[0009]在透明视图中对应的位置,创建视频视图;
[0010]当网页视图发生变化时,向透明视图发送视图变化消息;
[0011]透明视图根据所述视图变化消息相应地变化所述视频视图。
[0012]其中,所述当网页视图发生变化时,向透明视图发送视图变化消息,包括:
[0013]根据网页视图的变化建立视图变化消息队列;
[0014]根据视图变化消息队列的顺序,向透明视图发送所述视图变化消息。
[0015]其中,所述视图变化消息包括移动消息、缩放消息,当网页视图发生移动变化时,向透明视图发送移动消息;当网页视图发生缩放变化时,向透明视图发送缩放消息,所述视图变化消息队列包括移动消息队列和缩放消息队列。
[0016]可选的,所述的安卓智能终端浏览器视频显示方法,还包括:
[0017]根据每个消息队列中视图变化消息建立的顺序,判断每个消息队列中间隔预设个数的两个视图变化消息中视图变化参数之间的差值是否小于相应的视图变化参数预设值;
[0018]当间隔预设个数的两个视图变化消息中视图变化参数之间的差值小于相应的视图变化参数预设值时,将两个视图变化消息中在后的视图变化消息发送给透明视图,并删除在后的视图变化消息之前的视图变化消息,否则,向透明视图发送所述两个视图变化消息间隔以内的每个视图变化消息。
[0019]其中,当间隔预设个数的两个移动消息中移动坐标的距离小于移动预设距离值时,将所述两个移动消息中在后的移动消息发送给透明视图,并删除在后的移动消息之前的移动消息,否则,向透明视图发送所述两个移动消息间隔以内的每个移动消息;
[0020]其中,当间隔预设个数的两个缩放消息中缩放比例的差值小于缩放预设值时,将所述两个缩放消息中在后的缩放消息发送给透明视图,并删除在后的缩放消息之前的缩放消息,否则,向透明视图发送所述两个缩放消息间隔以内的每个缩放消息。
[0021]可选的,所述的安卓智能终端浏览器视频显示方法,还包括:
[0022]当透明视图接收到网页视图开始变化时向透明视图发送的开始视图变化消息后,隐藏所述视频视图;
[0023]当透明视图接收到网页视图结束变化时向透明视图发送的结束变化消息以及最终变化参数消息后,根据所述最终变化参数消息对所述视频视图做出相应的变化,并显示所述视频视图。
[0024]根据本申请实施例的第二方面,提供一种安卓智能终端浏览器视频显示装置,包括:
[0025]透明视图添加模块,用于在视图树中添加透明视图,所述透明视图与网页视图拥有相同的基础视图,且所述透明视图层叠覆盖于网页视图之前;
[0026]视频视图创建模块,用于在透明视图中对应的位置,创建视频视图;
[0027]消息发送模块,用于当网页视图发生变化时,向透明视图发送视图变化消息;
[0028]视频视图控制模块,用于根据所述视图变化消息相应地变化所述视频视图。
[0029]其中,所述消息发送模块,包括:
[0030]消息队列建立模块,用于根据网页视图的变化,建立视图变化消息队列;
[0031]发送模块,用于根据视图变化消息队列中视图变化消息建立的顺序,向透明视图发送视图变化消息。
[0032]可选的,所述的安卓智能终端浏览器视频显示装置中,所述消息发送模块,还包括:
[0033]消息判断模块,用于根据每个消息队列中视图变化消息建立的顺序,判断每个消息队列中间隔预设个数的两个视图变化消息中视图变化参数之间的差值是否小于相应的视图变化参数预设值;
[0034]消息发送控制模块,用于当间隔预设个数的两个视图变化消息中视图变化参数之间的差值小于相应的视图变化参数预设值时,将两个视图变化消息中在后的视图变化消息发送给透明视图,并删除在后的视图变化消息之前的视图变化消息,否则,向透明视图发送所述两个视图变化消息间隔以内的每个视图变化消息。
[0035]其中,所述消息判断模块,包括:
[0036]移动消息判断模块,用于判断间隔预设个数的两个移动消息中移动坐标之间的距离是否小于移动距离预设值;
[0037]缩放消息判断模块,用于判断间隔预设个数的两个缩放消息中缩放比例的差值是否小于缩放预设值,
[0038]其中,所述消息发送控制模块,包括:
[0039]移动消息发送控制模块,用于当间隔预设个数的两个移动消息中移动坐标之间的距离小于移动距离预设值时,将所述两个移动消息中在后的移动消息发送给透明视图,并删除在后的移动消息之前的移动消息,否则,向透明视图发送所述两个移动消息间隔以内的每个移动消息;
[0040]缩放消息发送控制模块,用于当间隔预设个数的两个缩放消息中缩放比例的差值小于缩放预设值时,将所述两个缩放消息中在后的缩放消息发送给透明视图,并删除在后的移动消息之前的移动消息,否则,向透明视图发送所述两个缩放消息间隔以内的每个缩放消息。
[0041]可选的,所述消息发送模块,包括:
[0042]开始消息发送模块,用于当网页视图开始变化时,向透明视图发送开始变化消息;
[0043]结束消息发送模块,用于当网页视图结束变化时,向透明视图发送结束变化消息以及最终变化参数消息,
[0044]可选的,所述视频视图控制模块,包括:
[0045]视频视图隐藏模块,用于在透明视图接收到所述开始变化消息后,在透明视图中隐藏所述视频视图;
[0046]视频视图变化模块,用于在透明视图接收到所述最终变化参数消息后,根据所述最终变化参数消息,在透明视图中相应地变化所述视频视图;
[0047]视频视图显示模块,用于在透明视图接收到所述结束变化消息后,在透明视图中显示所述视频视图。
[0048]其中,所述开始消息发送模块,用于当网页视图开始移动和/或缩放时,向透明视图发送开始移动消息和/或开始缩放消息;
[0049]所述结束消息发送模块,用于当网页视图结束移动和/或缩放时,向透明视图发送结束移动消息和/或结束缩放消息以及最终移动坐标消息和/或最终缩放比例消息;
[0050]所述视频视图隐藏模块,用于在透明视图接收到所述开始移动和/或缩放消息后,在透明视图中隐藏所述视频视图;
[0051]所述视频视图变化模块,用于在透明视图接收到所述最终移动距离消息和/或最终缩放比例消息后,根据所述最终移动坐标消息和/或最终缩放比例消息,在透明视图中移动和/或缩放所述视频视图;
[0052]所述视频视图显示模块,用于在透明视图接收到所述结束移动消息和/或结束缩放消息后,在透明视图中显示所述视频视图。
[0053]本申请实施例提供的技术方案,通过在View树中添加与WebView同一基础视图的透明视图,透明视图的覆盖于基础视图之前,与WebView大小和缩放比例相等,不包括任何元素内容,因此不响应任何动作,在View树中添加透明视图后,将用于播放视频的VideoView作为透明视图的子视图,当WebView发生变化时,向透明视图发送视图变化消息,透明视图根据接收到的视图变化消息调整VideoView的位置和大小,使VideoView跟随WebView变化。由于将VideoView添加与透明视图中而非内嵌于WebView中,因此本申请实施例提供的技术方案可以包括以下有益效果:在WebView发生变化时,不需重新绘制VideoView,从而节省CPU处理资源,加快滑屏时网页页面变化的速度,使网页页面变化更流畅。
[0054]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
【附图说明】
[0055]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0056]图1为本申请一示例性实施例示出的一种安卓智能终端浏览器视频显示方法的流程示意图。
[0057]图2为本申请另一示例性实施例示出
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1