CN108182090B - 基于blink内核的Flash插件加载方法及装置 - Google Patents
基于blink内核的Flash插件加载方法及装置 Download PDFInfo
- Publication number
- CN108182090B CN108182090B CN201611122953.0A CN201611122953A CN108182090B CN 108182090 B CN108182090 B CN 108182090B CN 201611122953 A CN201611122953 A CN 201611122953A CN 108182090 B CN108182090 B CN 108182090B
- Authority
- CN
- China
- Prior art keywords
- interface
- flash plug
- flash
- plug
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 238000009877 rendering Methods 0.000 claims description 16
- 238000009434 installation Methods 0.000 claims description 12
- 230000009191 jumping Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241000238582 Artemia Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于blink内核的Flash插件加载方法及装置,方法包括:对网页的源文件进行解析;若解析出需要向所述网页加载Flash插件,则获取Flash插件的路径,加载Flash插件的共享库SO文件;对网景插件应用程序接口NPAPI接口初始化;建立移动平台的Flash插件接口;通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了基于blink内核的浏览器无法加载Flash插件的问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于blink内核的Flash插件加载方法及装置。
背景技术
Flash插件是指安装于浏览器的Flash插件(Adobe FlashPlayer Plugin),使浏览器得以播放swf文件。Adobe Flash(原称Macromedia Flash,简称Flash;前身FutureSplash),是美国Macromedia公司(已被Adobe公司收购)所设计的一种二维动画软件。
现有的浏览器在实现Flash插件时是基于WebKit浏览器内核的,但从Android4.4以后系统浏览器的内核就已经更换成blink内核。Blink内核是一个开源的浏览器内核引擎,由Google公司开发,由WebKit浏览器内核衍生而来。由于blink内核在性能以及H5的支持度上都要远远好于WebKit内核。而目前市场上基于blink内核的浏览器大部分是系统浏览器,且都不支持Flash插件的播放,对于用户来说无法在blink内核的浏览器上进行Flash的播放会造成体验上的缺失,另一方面可能会造成用户的流失。同时随着安卓版本的不断升级,原先的WebKit浏览器内核不支持安卓6.0机器的Flash播放。
发明内容
有鉴于此,本发明提供了一种基于blink内核的Flash插件加载方法,以解决基于blink内核的浏览器不能正常加载flash插件的问题,方法包括:
对网页的源文件进行解析;
若解析出需要向所述网页加载Flash插件,则:
获取Flash插件的路径,加载Flash插件的共享库SO文件;
对网景插件应用程序接口NPAPI接口初始化;
建立移动平台的Flash插件接口;
通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
进一步地,所述获取Flash插件的路径,加载Flash插件的共享库SO文件,包括:
根据预设的Flash插件的包名查找Flash插件的路径;
若找到,则获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;
若未找到,则:
询问用户是否下载安装Flash插件;
若捕获到用户确定下载安装Flash插件,则:
自动跳转至预设的Flash插件的安装页面;
将Flash插件安装到预设的路径下;
根据Flash插件的路径加载Flash插件的共享库SO文件。
进一步地,所述对网景插件应用程序接口NPAPI接口初始化,包括:
对Flash插件进行初始化;
将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
进一步地,所述建立移动平台的Flash插件接口,包括:
Flash插件根据获取的浏览器的函数地址调用浏览器的接口获取移动平台的Flash插件接口的函数地址。
进一步地,所述功能接口包括:声音回调接口和窗口设置接口;
所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,包括:
通过移动平台的Flash插件接口分别对声音回调接口和渲染窗口初始化;其中,
通过移动平台的Flash插件接口对声音回调接口初始化包括:通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
通过移动平台的Flash插件接口对窗口设置接口初始化包括:通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
进一步地,所述移动平台的Flash插件接口包括字体设置函数,窗口设置函数,全屏设置函数和声音设置函数。
进一步地,所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化之后,还包括:
获取用户对网页中包含的Flash文件的播放触发事件;
获取所述Flash文件的资源地址;
将所述Flash资源发送至Flash插件进行解析;
通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
进一步地,通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口之后,还包括:
通过所述功能接口播放所述Flash文件。
进一步地,所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化之后,还包括:
获取用户对网页中包含的Flash文件的全屏显示触发事件;
Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;
通过浏览器的全屏接口全屏显示Flash页面。
本发明还提供了一种基于blink内核的Flash插件加载装置,包括:
网页解析模块,用于对网页的源文件进行解析;
判断模块,用于判断是否需要向所述网页加载Flash插件;
共享库加载模块,用于获取Flash插件的路径,加载Flash插件的共享库SO文件;
NPAPI接口初始化模块,用于对网景插件应用程序接口NPAPI接口初始化;
平台接口建立模块,用于建立移动平台的Flash插件接口;
功能接口初始化模块,用于通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
进一步地,所述共享库加载模块包括:
路径查找单元,用于根据预设的Flash插件的包名查找Flash插件的路径;
共享库加载单元,用于获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;
用户询问单元,用于询问用户是否下载安装Flash插件;
安装页面跳转单元,用于自动跳转至预设的Flash插件的安装页面;
插件安装单元,用于将Flash插件安装到预设的路径下。
进一步地,所述NPAPI接口初始化模块包括:
插件初始化单元,用于对Flash插件进行初始化;
参数传递单元,用于将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
进一步地,所述功能接口包括:声音回调接口和窗口设置接口;
所述功能接口初始化模块包括:
声音回调接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
窗口设置接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
进一步地,装置还包括:
播放事件获取模块,用于获取用户对网页中包含的Flash文件的播放触发事件;
资源地址获取模块,用于获取所述Flash文件的资源地址;
资源解析模块,用于将所述Flash资源发送至Flash插件进行解析;
数据发送模块,用于通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
进一步地,装置还包括:
文件播放模块,用于通过所述功能接口播放所述Flash文件。
进一步地,装置还包括:
全屏事件获取模块,用于获取用户对网页中包含的Flash文件的全屏显示触发事件;
视图插件模块,用于Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;
全屏显示模块,用于通过浏览器的全屏接口全屏显示Flash页面。
本发明实施例提供了一种基于blink内核的Flash插件加载方法及装置,通过对网页的源文件进行解析;若解析出需要向所述网页加载Flash插件,获取Flash插件的路径,加载Flash插件的共享库SO文件;对网景插件应用程序接口NPAPI接口初始化;建立移动平台的Flash插件接口;以及通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,实现了基于blink内核的浏览器正常加载显示Flash插件。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了相关技术中基于blink内核的浏览器无法加载Flash插件的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例1提供的方法的流程图;
图2是本发明实施例1中步骤S103的流程图;
图3是本发明实施例1中步骤S104的流程图;
图4是本发明实施例2提供的方法的流程图;
图5是播放Flash文件过程中各接口的交互图;
图6是本发明实施例3提供的方法的流程图;
图7是全屏显示Flash页面的交互图;
图8是本发明实施例4提供的装置的结构框图;
图9是共享库加载模块的结构框图;
图10是NPAPI接口初始化模块的结构框图;
图11是功能接口初始化模块的结构框图;
图12是本发明实施例4提供的装置的另一结构框图;
图13是本发明实施例4提供的装置的又一结构框图;
图14是本发明实施例的终端的结构框图;
图15是本发明实施例提供的服务器的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。
在上述运行环境下,本申请提供了如图1所示的基于blink内核的Flash插件加载方法。该方法可以应用于移动终端设备中,由移动终端设备中的处理器执行,移动终端设备可以是智能手机、平板电脑等。移动终端设备中安装有至少一个应用程序,本发明实施例并不限定应用程序的种类,可以为系统类应用程序,也可以为软件类应用程序。
图1是根据本发明实施例的基于blink内核的Flash插件加载方法的流程图。如图1所示,该基于blink内核的Flash插件加载方法的一种可选的方案包括如下步骤:
步骤S101,对网页的源文件进行解析。
需要说明的是,本申请通过浏览器对网页的源文件进行解析,其中,浏览器基于blink内核。blink是一个开源的浏览器内核引擎,由Google公司开发,由WebKit衍生而来。目前市场上基于blink内核的浏览器大部分是系统浏览器,且都不支持Flash插件的播放。本申请提出了对基于blink内核的浏览器正常加载显示Flash插件的方法。
步骤S102,根据解析结果判断是否需要向所述网页加载Flash插件。若是,则执行步骤S103。
在浏览器中显示的内容有HTML、XML、GIF、Flash等,浏览器根据资源的MIME Type,也就是该资源的媒体类型来确定网页资源类型,从而判断网页中是否包含有Flash文件。媒体类型通常是通过HTTP协议,由Web服务器告知浏览器。每个多媒体文件格式MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图像image等,后面定义具体的种类。
步骤S103,获取Flash插件的路径,加载Flash插件的共享库SO文件。
当网页内存在插件对应的特定类型的数据时,该浏览器的浏览器内核将会尝试加载插件,而在加载插件的过程中,其会生成插件列表遍历请求,从而遍历插件列表,以在插件列表中查找相应的插件。
其中,该插件列表中注册有已经安装到浏览器中的插件,其记录有已经安装到浏览器的插件的类标识符、存储路径,以及类标识符与存储路径的对应关系;而对于已经安装到浏览器中的插件而言,浏览器内核可以直接加载并运行该插件,从而处理该插件对应的特定类型的数据。
在解析出网页中需要加载Flash插件后,通过浏览器创建Flash对应的文档对象类型DOM节点,并根据Flash的MIME Type加载Flash插件资源。DOM:文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象(例如Flash文件)被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。
获取Flash插件的路径后,可以通过反射的方式获取Flash插件的共享库SO的函数地址。共享库SO(shared object)是Linux下的动态链接库。
作为一种可选的实施例,如图2所示,步骤S103,获取Flash插件的路径,加载Flash插件的共享库SO文件,具体包括:
步骤S201,根据预设的Flash插件的包名查找Flash插件的路径。
预设的Flash插件的包名可以是com.adobe.Flashplayer。
若找到,则执行步骤S202,若未找到,则执行步骤S203。
步骤S202,获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件。
步骤S203,询问用户是否下载安装Flash插件。
具体来说,可以通过提供选择按钮供用户选择。
步骤S204,捕获用户对询问的响应,根据所述响应判断是否下载安装Flash插件,若是,执行步骤S205。若否,则结束加载Flash插件。
步骤S205,自动跳转至预设的Flash插件的安装页面。
步骤S206,将Flash插件安装到预设的路径下。
其中,在安装Flash插件时,可以提供多个路径供用户选择,例如,用户可以直接选择“下载”或“转存到微云”“转存到百度云”等。
执行完步骤S206后,回到步骤S202,获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件。
当用户访问包含Flash的网页时,若当前用户手机未安装Flash插件,用户点击播放按钮就会弹框提示用户安装Flash插件,当用户点击确定后,会跳转至Flash插件的安装页面,用户安装完成Flash插件后,会重新刷新Flash页面加载Flash插件。
通过上述步骤S201-S206,本发明实施例能够在移动终端没有安装Flash插件时询问用户是否需要下载安装Flash插件,用户确定需要下载Flash插件后,本申请能够自动跳转至预设的Flash插件的安装页面下载安装Flash插件,从而简化了用户安装Flash插件的程序,使用户能够更方便地观看Flash动画,提高了用户体验。
步骤S104,对网景插件应用程序接口NPAPI接口初始化。
网景插件应用程序编程接口(NPAPI,Netscape Plugin ApplicationProgramming Interface)是Netscape Navigator、Mozilla Suite、Mozilla SeaMonkey 和Mozilla Firefox等Gecko引擎浏览器与Apple Safari和Google Chrome等webkit引擎浏览器所使用的类似ActiveX的插件接口。NPAPI是浏览器与插件应用程序交互的编程接口。
对网景插件应用程序接口NPAPI接口初始化,以使浏览器能够与Flash插件进行数据交互,或者称为互相调用。
作为一种可选的实施方式,如图3所示,所述对网景插件应用程序接口NPAPI接口初始化,包括:
步骤S301,对Flash插件进行初始化。
具体来说,对Flash插件进行初始化通过调用Flash插件的初始化函数来实现对Flash插件进行初始化。
步骤S302,将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
例如,浏览器通过dlopen函数调用Flash插件的SO文件,获取SO的函数地址,Flash插件通过plugin.A函数获取浏览器的函数地址。这样,浏览器和Flash插件就实现了关联和交互,完成了NPAPI接口的初始化。
步骤S105,建立移动平台的Flash插件接口。
移动平台也称为移动应用平台,移动应用的支持平台包括iOS、Android、WindowsPhone。本申请特别适用于Android平台。
移动平台的Flash插件接口是指移动平台上插件应用程序调用浏览器的编程接口。
对于Android平台来说,移动平台的Flash插件接口指ANP,ANP是Android系统上插件应用程序调用浏览器的编程接口。
作为一种可选的实施例,所述建立移动平台的Flash插件接口,包括:
Flash插件根据获取的浏览器的函数地址调用浏览器的接口获取移动平台的Flash插件接口的函数地址。
具体地,以Android平台为例,Flash插件在获取到浏览器的函数地址后,调用浏览器的NP_GetValue的接口来获取ANP接口的函数地址。
可选的,所述移动平台的Flash插件接口包括字体设置函数,窗口设置函数,全屏设置函数和声音设置函数。
步骤S106,通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
在本申请的上述步骤S106中,所述功能接口包括:声音回调接口和窗口设置接口;
所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,包括:
通过移动平台的Flash插件接口分别对功能接口初始化;具体包括:
通过移动平台的Flash插件接口分别对声音回调接口和渲染窗口初始化;其中,
通过移动平台的Flash插件接口对声音回调接口初始化包括:通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
通过移动平台的Flash插件接口对窗口设置接口初始化包括:通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
以Android平台为例,声音回调接口的初始化,主要是创建安卓平台的AudioTrack(用于播放声音的接口类),并创建用于声音播放的独立线程,后续Flash播放的过程中插件通过声音设置的接口将播放数据传递给AudioTrack进行播放;
窗口设置接口的初始化,主要是创建插件用于绘制的NativeWindow窗口,后续插件解析后的每帧数据将绘制到NativeWindow窗口上,同时内核渲染层持有NativeWindow的句柄,最终Flash在网页中的呈现是通过内核的渲染层将NativeWindow做为单独的纹理贴到屏幕上。
本发明实施例提供了一种基于blink内核的Flash插件加载方法,该方法包括对网页的源文件进行解析;若解析出需要向所述网页加载Flash插件,则:获取Flash插件的路径,加载Flash插件的共享库SO文件;对网景插件应用程序接口NPAPI接口初始化;建立移动平台的Flash插件接口;以及通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,实现了基于blink内核的浏览器正常加载显示Flash动画。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了相关技术中基于blink内核的浏览器无法加载Flash插件的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图4是根据本发明实施例的基于blink内核的Flash插件加载方法的流程图。
本实施例与实施例1的不同在于本实施例中除了提供如何实现在基于blink内核的浏览器上加载Flash插件的方法外,还进一步提出了如何实现Flash页面的加载和显示方法。
如图4所示,该基于blink内核的Flash插件加载方法的一种可选的方案包括如下步骤:
步骤S101,对网页的源文件进行解析。
步骤S102,根据解析结果判断是否需要向所述网页加载Flash插件。若是,则执行步骤S103。
步骤S103,获取Flash插件的路径,加载Flash插件的共享库SO文件。
步骤S104,对网景插件应用程序接口NPAPI接口初始化。
步骤S105,建立移动平台的Flash插件接口。
步骤S106,通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
本实施例中的步骤S101至步骤S106与实施例1相类似,此处不再赘述。
步骤S107,获取用户对网页中包含的Flash文件的播放触发事件。
由于通过步骤S101至步骤S106,已经可以实现在浏览器上正确加载Flash插件。加载Flash插件后,页面上会显示用于触发播放Flash动画文件的播放按钮,用户通过点击播放按钮播放Flash文件。
具体地,步骤S105之后,也就是完成对NPAPI接口的初始化和创建移动平台的Flash插件接口后,还包括:创建Flash插件对应的RenderWidget节点。
Flash插件对应的RenderWidget节点用来获取用户对Flash页面的操作事件,操作事件具体可以包括点击按钮,例如点击播放按钮,点击暂停按钮等。
本申请的上述步骤S107中,就是通过Flash插件对应的RenderWidget节点获取用户对网页中包含的Flash文件的播放触发事件。
步骤S108,获取所述Flash文件的资源地址。
Flash插件对应的RenderWidget节点收到点击事件后,服务器获取当前Flash文件的统一资源定位符URL(Uniform ReSOurce Locator),也就是Flash对应的资源地址。资源地址包括主资源地址和子资源地址。
步骤S109,将所述Flash资源发送至Flash插件进行解析。
具体的解析过程为:获取Flash文件的主资源地址后,把不断获取到的主资源地址通过NPP接口写入Flash插件进行解析。NPP接口是浏览器调用插件应用程序的编程接口。Flash插件在解析的过程中,会通过NPN接口通知浏览器去拉取Flash文件相应的子资源,NPN接口为插件应用程序调用浏览器的编程接口。浏览器内核会通过NPP接口再次把拉取到的子资源写入Flash插件进行解析。
步骤S110,通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
所述功能接口包括:声音回调接口和窗口设置接口。通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口,是指Flash插件将解析后的数据通过移动平台的Flash接口发送至所述功能接口。具体来说,Flash插件将解析后的音频数据通过移动平台的Flash接口发送至所述声音回调接口,Flash插件将解析后的图像数据通过移动平台的Flash接口发送至所述窗口设置接口。
由于本申请创建了移动平台的Flash插件接口,因此,通过移动平台的Flash插件接口能够将Flash插件解析的数据成功地传送至浏览器内核的功能接口,从而最终实现浏览器播放Flash文件。
作为一种可选的实施例,还可以包括:
步骤S111,通过所述功能接口播放所述Flash文件。
下面以移动平台为Android平台,移动平台的插件接口为ANP接口为例,对本实施例进行详细说明。
在Android平台下,声音回调接口为AudioTrack,窗口设置接口为NativeWindow。
图5为Android平台下播放Flash文件过程中各接口的交互图。如图5所示,由于已经成功加载Flash插件,用户点击浏览器页面上的播放按钮后,Flash插件对应的RenderWidget节点收到点击事件后,服务器获取Flash文件的主资源地址,并把不断获取到的主资源地址通过NPP接口写入Flash插件进行解析。Flash插件在解析的过程中,会通过NPN接口通知浏览器去拉取Flash文件相应的子资源,而浏览器内核会通过NPP接口再次把拉取到的子资源写入Flash插件进行解析。
在声音回调接口初始化时,已经创建Android平台的AudioTrack(用于播放声音的接口类),并创建用于声音播放的独立线程,因此,在后续Flash播放的过程中Flash插件通过ANP接口将解析后的音频数据传递给AudioTrack进行播放。
在窗口设置接口的初始化时,已经创建插件用于绘制的NativeWindow窗口,后续Flash插件解析后的每帧数据将绘制到NativeWindow窗口上,同时浏览器内核渲染层持有NativeWindow的句柄,最终Flash在网页中的呈现是通过内核的渲染层将NativeWindow做为单独的纹理贴到屏幕上。
本发明实施例提供了一种基于blink内核的Flash插件加载方法,该方法包括对网页的源文件进行解析;若解析出需要向所述网页加载Flash插件,则:获取Flash插件的路径,加载Flash插件的共享库SO文件;对网景插件应用程序接口NPAPI接口初始化;建立移动平台的Flash插件接口;以及通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了相关技术中基于blink内核的浏览器无法加载Flash插件的问题。另外,本发明实施例的方法还包括获取用户对网页中包含的Flash文件的播放触发事件;获取所述Flash文件的资源地址;将所述Flash资源发送至Flash插件进行解析;通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口,从而实现了在网页上播放Flash文件。由于本申请建立了移动平台的Flash插件接口,能够实现Flash插件与浏览器内核的功能接口的数据传送,最终实现在基于blink内核的浏览器上播放Flash文件。
实施例3
图6是根据本发明实施例的基于blink内核的Flash插件加载方法的流程图。
本实施例与实施例1的不同在于本实施例中除了提供如何实现在基于blink内核的浏览器上加载Flash插件的方法外,还进一步提出了如何实现Flash页面的全屏显示方法。
如图6所示,该基于blink内核的Flash插件加载方法的一种可选的方案包括如下步骤:
步骤S601,对网页的源文件进行解析。
步骤S602,根据解析结果判断是否需要向所述网页加载Flash插件。若是,则执行步骤S603。
步骤S603,获取Flash插件的路径,加载Flash插件的共享库SO文件。
步骤S604,对网景插件应用程序接口NPAPI接口初始化。
步骤S605,建立移动平台的Flash插件接口。
步骤S606,通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
本实施例中的步骤S601至步骤S606与实施例1中的步骤S101至步骤S106相类似,此处不再赘述。
步骤S607,获取用户对网页中包含的Flash文件的全屏显示触发事件。
由于通过步骤S601至步骤S606,已经可以实现在浏览器上正确加载Flash插件。加载Flash插件后,页面上会显示用于触发全屏播放Flash动画文件的全屏播放按钮。
步骤S608,Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图。其中,上屏是指呈现到屏幕上。
步骤S609,通过浏览器的全屏接口全屏显示Flash页面。
如图7所示,以Android平台为例,对本申请的步骤S607至步骤S609进行说明。
当用户点击Flash的全屏按钮时,则Flash插件会回调ANP接口,创建对应的SurfaceView,SurfaceView是Android平台用于渲染上屏的视图。通过浏览器的全屏接口将SurfaceView全屏显示,而渲染的内容则依然是通过ANP接口回调浏览器内核对SurfaceView进行填充,此时SurfaceView处在Focus的全屏状态,事件的处理全部委托给SurfaceView进行处理。
本发明实施例提供了一种基于blink内核的Flash插件加载方法,该方法包括对网页的源文件进行解析;若解析出需要向所述网页加载Flash插件,则:获取Flash插件的路径,加载Flash插件的共享库SO文件;对网景插件应用程序接口NPAPI接口初始化;建立移动平台的Flash插件接口;以及通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了相关技术中基于blink内核的浏览器无法加载Flash插件的问题。另外,本发明实施例的方法还包括获取用户对网页中包含的Flash文件的全屏显示触发事件;Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;通过浏览器的全屏接口全屏显示Flash页面,从而实现了在全屏播放Flash文件。由于本申请建立了移动平台的Flash插件接口,能够实现Flash插件与浏览器内核的功能接口的数据传送,最终实现在基于blink内核的浏览器上全屏播放Flash文件。
实施例4
图8是根据本发明实施例的基于blink内核的Flash插件加载装置的结构框图。如图8所示,所述装置包括:
网页解析模块801,用于对网页的源文件进行解析;
判断模块802,用于判断是否需要向所述网页加载Flash插件;
共享库加载模块803,用于获取Flash插件的路径,加载Flash插件的共享库SO文件;
NPAPI接口初始化模块804,用于对网景插件应用程序接口NPAPI接口初始化;
平台接口建立模块805,用于建立移动平台的Flash插件接口;
功能接口初始化模块806,用于通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
作为一种可选的实施例,如图9所示,所述共享库加载模块803包括:
路径查找单元8031,用于根据预设的Flash插件的包名查找Flash插件的路径;
共享库加载单元8032,用于获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;
用户询问单元8033,用于询问用户是否下载安装Flash插件;
安装页面跳转单元8034,用于自动跳转至预设的Flash插件的安装页面;
插件安装单元8035,用于将Flash插件安装到预设的路径下。
作为一种可选的实施例,如图10所示,所述NPAPI接口初始化模块804包括:
插件初始化单元8041,用于对Flash插件进行初始化;
参数传递单元8042,用于将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
作为一种可选的实施例,所述功能接口初始化模块806包括:
声音回调接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
窗口设置接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
作为一种可选的实施例,如图11所示,装置还包括:
播放事件获取模块807,用于获取用户对网页中包含的Flash文件的播放触发事件;
资源地址获取模块808,用于获取所述Flash文件的资源地址;
资源解析模块809,用于将所述Flash资源发送至Flash插件进行解析;
数据发送模块810,用于通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
作为一种可选的实施例,如图12所示,装置还包括:
文件播放模块811,用于通过所述功能接口播放所述Flash文件。
作为一种可选的实施例,如图13所示,装置还包括:
全屏事件获取模块812,用于获取用户对网页中包含的Flash文件的全屏显示触发事件;
视图插件模块813,用于Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;
全屏显示模块814,用于通过浏览器的全屏接口全屏显示Flash页面。
本发明实施例提供了一种基于blink内核的Flash插件加载装置,该装置包括网页解析模块,用于对网页的源文件进行解析;判断模块,用于判断是否需要向所述网页加载Flash插件;共享库加载模块,用于获取Flash插件的路径,加载Flash插件的共享库SO文件;NPAPI接口初始化模块,用于对网景插件应用程序接口NPAPI接口初始化;平台接口建立模块,用于建立移动平台的Flash插件接口;功能接口初始化模块,用于通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化。通过上述装置,本发明实现了基于blink内核的浏览器正常加载显示Flash动画。由于建立了NPAPI接口和移动平台的Flash插件接口,使得Flash插件能够和浏览器内核进行交互,最终能够实现Flash插件的播放,进而解决了相关技术中基于blink内核的浏览器无法加载Flash插件的问题。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例用于实现基于blink内核的Flash插件加载方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
第一步,对网页的源文件进行解析。
第二步,判断是否需要向所述网页加载Flash插件。
第三步,获取Flash插件的路径,加载Flash插件的共享库SO文件。
第四步,对网景插件应用程序接口NPAPI接口初始化。
第五步,建立移动平台的Flash插件接口。
第六步,通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:根据预设的Flash插件的包名查找Flash插件的路径;若找到,则获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;若未找到,则:询问用户是否下载安装Flash插件;若捕获到用户确定下载安装Flash插件,则:自动跳转至预设的Flash插件的安装页面;将Flash插件安装到预设的路径下;根据Flash插件的路径加载Flash插件的共享库SO文件。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:对Flash插件进行初始化;将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:Flash插件根据获取的浏览器的函数地址调用浏览器的接口获取移动平台的Flash插件接口的函数地址。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:获取用户对网页中包含的Flash文件的播放触发事件;获取所述Flash文件的资源地址;将所述Flash资源发送至Flash插件进行解析;通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:通过所述功能接口播放所述Flash文件。
可选的,存储介质还被设置为存储用于执行以下步骤的程序代码:获取用户对网页中包含的Flash文件的全屏显示触发事件;Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;通过浏览器的全屏接口全屏显示Flash页面。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
实施例6
参见图14,本发明实施例提供了一种终端,该终端可以用于实施上述实施例中提供的基于blink内核的Flash插件加载方法。具体来讲:
所述终端可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(wireless fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图14中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述终端的使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图14中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
所述终端还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在所述终端移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于所述终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与所述终端之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与所述终端的通信。
WiFi属于短距离无线传输技术,所述终端通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图14示出了WiFi模块170,但是可以理解的是,其并不属于所述终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行所述终端的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
所述终端还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,所述终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
第一步,对网页的源文件进行解析。
第二步,判断是否需要向所述网页加载Flash插件。
第三步,获取Flash插件的路径,加载Flash插件的共享库SO文件。
第四步,对网景插件应用程序接口NPAPI接口初始化。
第五步,建立移动平台的Flash插件接口。
第六步,通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据。
可选地,本实施例中的具体示例可以参考上述实施例1、实施例2和实施例3中所描述的示例,本实施例在此不再赘述。
实施例7:
参见图15,本发明实施例提供一种服务器。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。服务器700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。上述方法实施例所执行的步骤可以基于该图15所示的服务器结构。
需要说明的是:上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种基于blink内核的Flash插件加载方法,其特征在于,包括:
对网页的源文件进行解析;
若解析出需要向所述网页加载Flash插件,则:
获取Flash插件的路径,加载Flash插件的共享库SO文件;
对网景插件应用程序接口NPAPI接口初始化;
建立移动平台的Flash插件接口,包括:Flash插件根据获取的浏览器的函数地址调用浏览器的接口获取移动平台的Flash插件接口的函数地址;
通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据;
所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化之后,还包括:
获取用户对网页中包含的Flash文件的播放触发事件;
获取所述Flash文件的资源地址;
将所述Flash文件的资源地址发送至Flash插件进行解析;
通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
2.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,所述获取Flash插件的路径,加载Flash插件的共享库SO文件,包括:
根据预设的Flash插件的包名查找Flash插件的路径;
若找到,则获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;
若未找到,则:
询问用户是否下载安装Flash插件;
若捕获到用户确定下载安装Flash插件,则:
自动跳转至预设的Flash插件的安装页面;
将Flash插件安装到预设的路径下;
根据Flash插件的路径加载Flash插件的共享库SO文件。
3.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,所述对网景插件应用程序接口NPAPI接口初始化,包括:
对Flash插件进行初始化;
将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
4.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,所述功能接口包括:声音回调接口和窗口设置接口;
所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,包括:
通过移动平台的Flash插件接口分别对声音回调接口和渲染窗口初始化;其中,
通过移动平台的Flash插件接口对声音回调接口初始化包括:通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
通过移动平台的Flash插件接口对窗口设置接口初始化包括:通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
5.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,所述移动平台的Flash插件接口包括字体设置函数,窗口设置函数,全屏设置函数和声音设置函数。
6.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口之后,还包括:
通过所述功能接口播放所述Flash文件。
7.根据权利要求1所述的基于blink内核的Flash插件加载方法,其特征在于,所述通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化之后,还包括:
获取用户对网页中包含的Flash文件的全屏显示触发事件;
Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;
通过浏览器的全屏接口全屏显示Flash页面。
8.一种基于blink内核的Flash插件加载装置,其特征在于,包括:
网页解析模块,用于对网页的源文件进行解析;
判断模块,用于判断是否需要向所述网页加载Flash插件;
共享库加载模块,用于获取Flash插件的路径,加载Flash插件的共享库SO文件;
NPAPI接口初始化模块,用于对网景插件应用程序接口NPAPI接口初始化;
平台接口建立模块,用于建立移动平台的Flash插件接口,包括:Flash插件根据获取的浏览器的函数地址调用浏览器的接口获取移动平台的Flash插件接口的函数地址;
功能接口初始化模块,用于通过移动平台的Flash插件接口对用于播放Flash文件的功能接口初始化,以使Flash插件向所述功能接口传输数据;
还包括:
播放事件获取模块,用于获取用户对网页中包含的Flash文件的播放触发事件;
资源地址获取模块,用于获取所述Flash文件的资源地址;
资源解析模块,用于将所述Flash文件的资源地址发送至Flash插件进行解析;
数据发送模块,用于通过移动平台的Flash插件接口将Flash插件解析后的数据传送至所述功能接口。
9.根据权利要求8所述的基于blink内核的Flash插件加载装置,其特征在于,所述共享库加载模块包括:
路径查找单元,用于根据预设的Flash插件的包名查找Flash插件的路径;
共享库加载单元,用于获取Flash插件的路径,根据Flash插件的路径加载Flash插件的共享库SO文件;
用户询问单元,用于询问用户是否下载安装Flash插件;
安装页面跳转单元,用于自动跳转至预设的Flash插件的安装页面;
插件安装单元,用于将Flash插件安装到预设的路径下。
10.根据权利要求8所述的基于blink内核的Flash插件加载装置,其特征在于,所述NPAPI接口初始化模块包括:
插件初始化单元,用于对Flash插件进行初始化;
参数传递单元,用于将Flash插件回调浏览器的函数地址作为参数传递给Flash插件。
11.根据权利要求8所述的基于blink内核的Flash插件加载装置,其特征在于,所述功能接口包括:声音回调接口和窗口设置接口;
所述功能接口初始化模块包括:
声音回调接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与声音回调接口绑定;
窗口设置接口初始化单元,用于通过移动平台的Flash插件接口将Flash插件与窗口设置接口绑定。
12.根据权利要求8所述的基于blink内核的Flash插件加载装置,其特征在于,还包括:
文件播放模块,用于通过所述功能接口播放所述Flash文件。
13.根据权利要求8所述的基于blink内核的Flash插件加载装置,其特征在于,还包括:
全屏事件获取模块,用于获取用户对网页中包含的Flash文件的全屏显示触发事件;
视图插件模块,用于Flash插件通过回调移动平台的插件接口创建用于渲染上屏的视图;
全屏显示模块,用于通过浏览器的全屏接口全屏显示Flash页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611122953.0A CN108182090B (zh) | 2016-12-08 | 2016-12-08 | 基于blink内核的Flash插件加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611122953.0A CN108182090B (zh) | 2016-12-08 | 2016-12-08 | 基于blink内核的Flash插件加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182090A CN108182090A (zh) | 2018-06-19 |
CN108182090B true CN108182090B (zh) | 2022-01-14 |
Family
ID=62544905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611122953.0A Active CN108182090B (zh) | 2016-12-08 | 2016-12-08 | 基于blink内核的Flash插件加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108182090B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918598B (zh) * | 2019-03-07 | 2022-10-18 | 四川长虹电器股份有限公司 | 一种基于Android电视浏览器的web页面渲染方法 |
CN109885408B (zh) * | 2019-03-13 | 2022-05-03 | 四川长虹电器股份有限公司 | 基于Android系统的轻量级浏览器资源优化方法 |
CN110532043A (zh) * | 2019-09-02 | 2019-12-03 | 江西金格科技股份有限公司 | 基于插件容器支持NPAPI和ActiveX的方法 |
CN114780164B (zh) * | 2022-02-28 | 2023-04-25 | 深圳开源互联网安全技术有限公司 | 基于浏览器插件筛选网页信息的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101924792A (zh) * | 2010-08-17 | 2010-12-22 | 优视科技有限公司 | 通过移动终端加载页面上Flash的方法及装置 |
CN102929656A (zh) * | 2012-09-28 | 2013-02-13 | 北京奇虎科技有限公司 | 使用浏览器中内置ActiveX插件的方法和客户端 |
US8753209B2 (en) * | 2007-08-31 | 2014-06-17 | Adobe Systems Incorporated | Dedicated device ports for data exchange |
CN104346342A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种加载Flash插件的方法及装置 |
CN105204883A (zh) * | 2014-06-26 | 2015-12-30 | 优视科技有限公司 | 一种插件加载处理方法及装置 |
CN105404539A (zh) * | 2015-12-30 | 2016-03-16 | 网易(杭州)网络有限公司 | 客户端游戏向网页游戏移植的方法、网页游戏系统及终端 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102136954A (zh) * | 2011-04-26 | 2011-07-27 | 苏州阔地网络科技有限公司 | 一种基于网页实现的网络流量监控方法及系统 |
CN102130774A (zh) * | 2011-04-27 | 2011-07-20 | 苏州阔地网络科技有限公司 | 一种网络会议中用户麦克风状态显示的方法及系统 |
CN102520967A (zh) * | 2011-12-28 | 2012-06-27 | 深圳市融创天下科技股份有限公司 | 一种创建与使用移动平台插件的方法、系统和移动终端 |
US9354764B2 (en) * | 2012-06-29 | 2016-05-31 | Dell Products L.P. | Playback of flash content at a client by redirecting execution of a script by a flash redirection plugin at a server to a flash redirection browser at the client |
-
2016
- 2016-12-08 CN CN201611122953.0A patent/CN108182090B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8753209B2 (en) * | 2007-08-31 | 2014-06-17 | Adobe Systems Incorporated | Dedicated device ports for data exchange |
CN101924792A (zh) * | 2010-08-17 | 2010-12-22 | 优视科技有限公司 | 通过移动终端加载页面上Flash的方法及装置 |
CN102929656A (zh) * | 2012-09-28 | 2013-02-13 | 北京奇虎科技有限公司 | 使用浏览器中内置ActiveX插件的方法和客户端 |
CN104346342A (zh) * | 2013-07-24 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种加载Flash插件的方法及装置 |
CN105204883A (zh) * | 2014-06-26 | 2015-12-30 | 优视科技有限公司 | 一种插件加载处理方法及装置 |
CN105404539A (zh) * | 2015-12-30 | 2016-03-16 | 网易(杭州)网络有限公司 | 客户端游戏向网页游戏移植的方法、网页游戏系统及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN108182090A (zh) | 2018-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853437B2 (en) | Method and apparatus for invoking application programming interface | |
CN109857403B (zh) | 一种页面更新、页面处理方法及装置 | |
CN107040609B (zh) | 一种网络请求处理方法和装置 | |
US10186244B2 (en) | Sound effect processing method and device, plug-in unit manager and sound effect plug-in unit | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN108536594B (zh) | 页面测试方法、装置及存储设备 | |
CN107247691B (zh) | 一种文本信息的显示方法、装置、移动终端及存储介质 | |
CN111178012A (zh) | 一种表单渲染方法、装置、设备及存储介质 | |
CN108039963B (zh) | 一种容器配置方法、装置及存储介质 | |
CN110020293B (zh) | 多媒体数据展示方法、装置及存储介质 | |
US20150301991A1 (en) | Webapp startup method and device | |
CN106095456A (zh) | 引导用户下载应用程序的方法、装置及移动终端 | |
CN108182090B (zh) | 基于blink内核的Flash插件加载方法及装置 | |
CN108763297B (zh) | 网页资源处理方法、装置以及移动终端 | |
CN105955739A (zh) | 一种图形界面的处理方法、装置和系统 | |
CN107666406B (zh) | 智能卡片显示方法及装置 | |
CN106919458B (zh) | Hook目标内核函数的方法及装置 | |
CN106156097B (zh) | 一种浏览器输入记录的处理方法及装置 | |
CN105095161B (zh) | 一种显示富文本信息的方法及装置 | |
CN113377469A (zh) | 移动应用的业务界面显示方法、装置、终端及存储介质 | |
CN106095423B (zh) | 提供浏览服务的方法、终端及服务器 | |
US10713414B2 (en) | Web page display method, terminal, and storage medium | |
CN112749074B (zh) | 一种测试用例推荐方法以及装置 | |
CN110674444A (zh) | 一种动态网页下载的方法及终端 | |
CN110020338B (zh) | 浏览器、网页打开方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |