机顶盒web页面的控制方法、系统及机顶盒与流程

文档序号:18073336发布日期:2019-07-03 04:01阅读:858来源:国知局
机顶盒web页面的控制方法、系统及机顶盒与流程

本发明涉及机顶盒技术领域,尤其涉及一种机顶盒web页面的控制方法、系统及机顶盒。



背景技术:

数字视频变换盒通常称作机顶盒或机上盒,是一个连接电视机与外部信号源的设备。机顶盒接收的内容包括电子节目指南、因特网网页、字幕等等。使用户能在现有电视机上观看数字电视节目,并可通过网络进行交互式数字化娱乐、教育和商业化活动。在三网融合的大背景下,伴随着互联网电视的迅速发展,搭载android系统的智能机顶盒以其优良的性能、强大的功能和丰富的应用逐渐成为机顶盒市场的主流品种,得以广泛应用。

目前,机顶盒遥控器对web页面的操作依赖于android系统自身的一套按键响应处理算法,这套算法通过分析页面元素属性和关系去处理和响应用户按键。在页面比较简单,元素关系比较清晰的情况下,android系统的按键处理算法能够正常发挥作用。然而,当用户访问较复杂的页面,页面元素关系不是很清晰时,android系统对按键的响应处理与用户实际操作目的就会出现很大差异,经常出现焦点移动顺序无法控制、难以将焦点移动到期望的元素上等问题,造成用户操作困难,严重影响用户体验。此外,由于这套按键响应算法在本地android系统内部,不同版本的android系统中该算法也会存在差异,所以同一个web页面在搭载不同android版本的机顶盒上,相同按键操作的结果往往不尽相同,导致用户体验不一致,影响市场推广。因此,在机顶盒上浏览网页时,目前对机顶盒遥控器的按键响应至少存在以下问题:

第一,无法适应机顶盒遥控器对页面的控制要求。当前,web页面越来越复杂,而且往往会使用各种各样的框架,试图使用android本身的一套按键响应算法去准确地适配所有页面,无疑是极其困难的。

第二,不能满足适配不同版本android系统的需求。将按键响应算法置于机顶盒android系统内部的方法使得不同版本android系统内按键响应存在差异,造成不同机顶盒上操作体验不一致,同时还需要web页面的开发人员在设计、开发和测试时都要考虑页面在多机顶盒上的适配性,大大增加了开发成本。



技术实现要素:

有鉴于此,本发明要解决的一个技术问题是提供一种机顶盒web页面的控制方法,通过云端服务器处理遥控器按键事件。

一种机顶盒web页面的控制方法,包括:接收到遥控器发送的对机顶盒web页面操作的按键事件;将所述按键事件转发到云端服务器;所述云端服务器对所述按键事件进行处理并返回页面操作结果;在所述机顶盒web页面上显示所述页面操作结果。

根据本发明的一个实施例,进一步的,所述将所述按键事件转发到云端服务器包括:生成浏览器控件对象webview;当接收到所述按键事件后,将所述按键事件传给所述webview;所述webview将所述按键事件发送到所述云端服务器。

根据本发明的一个实施例,进一步的,所述云端服务器对所述按键事件进行处理包括:在所述云端服务器中设置云端web页面的和事件处理规则;其中,所述云端web页面与所述机顶盒web页面相同;在所述云端服务器中生成所述云端web页面的云端页面对象;当所述云端服务器接收到所述按键事件时,将所述按键事件传给所述云端页面对象;所述云端页面对象根据所述事件处理规则对所述按键事件进行处理,生成所述页面操作结果。

根据本发明的一个实施例,进一步的,当所述云端页面对象对所述按键事件进行处理时,判断是否需要调用机顶盒的本地资源,如果是,则在所述页面操作结果中包含调用的机顶盒的本地资源并返回;所述本地资源包括:图片、音频、视频、jar包、JNI。

根据本发明的一个实施例,进一步的,所述页面操作结果包括:javascript脚本;当判断需要调用机顶盒的本地资源时,则在javascript脚本中加入js方法,指向需要调用的机顶盒的本地资源。

根据本发明的一个实施例,进一步的,所述在所述机顶盒web页面上显示所述页面操作结果包括:当所述webview接收到所述云端服务器返回的javascript脚本时,执行所述javascript脚本,在机顶盒web页面中显示处理结果;其中,当所述webview判断javascript脚本中带有js方法时,自动调用与js方法关联的本地资源。

根据本发明的一个实施例,进一步的,在机顶盒中运行的操作系统包括:android。

本发明要解决的一个技术问题是提供一种机顶盒,将遥控器按键事件发送到云端服务器处理。

一种机顶盒,包括:事件接收单元,用于接收到遥控器发送的对机顶盒web页面操作的按键事件;事件拦截单元,用于将所述按键事件转发到云端服务器;结果接收单元,用于接收所述云端服务器返回的页面操作结果;页面操作单元,用于在所述机顶盒web页面上显示所述页面操作结果。

根据本发明的一个实施例,进一步的,所述页面操作单元,用于生成浏览器控件对象webview;所述事件接收单元,用于当接收到所述按键事件后,将所述按键事件传给所述webview;其中,所述webview将所述按键事件发送到所述云端服务器。

根据本发明的一个实施例,进一步的,所述页面操作单元,用于当所述webview接收到所述云端服务器返回的javascript脚本时,执行所述javascript脚本,在机顶盒web页面中显示处理结果;其中,当所述webview判断javascript脚本中带有所述js方法时,所述页面操作单元自动调用与js方法关联的本地资源。所述本地资源包括:图片、音频、视频、jar包、JNI。

本发明要解决的一个技术问题是提供机顶盒web页面的控制系统,通过云端服务器处理遥控器按键事件。

一种机顶盒web页面的控制系统,包括:云端服务器和如上所述的机顶盒;所述云端服务器用于对按键事件进行处理并返回页面操作结果。

根据本发明的一个实施例,进一步的,所述云端服务器,包括:事件处理单元,用于生成云端web页面的云端页面对象;所述云端web页面与所述机顶盒web页面相同;事件接收单元,用于当接收到所述按键事件时,将所述按键事件传给所述云端页面对象;其中,所述云端页面对象根据所述事件处理规则对所述按键事件进行处理,生成所述页面操作结果。

根据本发明的一个实施例,进一步的,当所述云端页面对象对所述按键事件进行处理时,判断是否需要调用机顶盒的本地资源,如果是,则所述事件处理单元在所述页面操作结果中包含调用的机顶盒的本地资源并返回;所述本地资源包括:图片、音频、视频、jar包、JNI。

根据本发明的一个实施例,进一步的,所述页面操作结果包括:javascript脚本;当判断需要调用机顶盒的本地资源时,则所述事件处理单元在javascript脚本中加入js方法,指向需要调用的机顶盒的本地资源。

本发明的机顶盒web页面的控制方法、系统及机顶盒,将遥控器的按键处理由机顶盒本地系统移交给云端服务器处理,使得对遥控器按键的处理更加合理,用户操作更流畅且在不同机顶盒上操作体验一致。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为根据本发明的机顶盒web页面的控制方法的一个实施例的流程图;

图2为根据本发明的机顶盒web页面的控制方法的消息交互流程图;

图3为根据本发明的机顶盒的一个实施例的结构图;

图4为根据本发明的机顶盒web页面的控制系统的一个实施例的云端服务器的结构示意图。

具体实施方式

下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。下面结合各个图和实施例对本发明的技术方案进行多方面的描述。

图1为根据本发明的机顶盒web页面的控制方法的一个实施例的流程图,如图1所示:

步骤101,接收到遥控器发送的对机顶盒web页面操作的按键事件。

步骤102,将按键事件转发到云端服务器。

步骤103,云端服务器对按键事件进行处理并返回页面操作结果。

步骤104,在机顶盒web页面上显示页面操作结果。

上述实施例的机顶盒web页面的控制方法,将遥控器的按键处理权由机顶盒本地系统移交给云端服务器,使得对遥控器按键的处理更加合理,使用户操作更流畅且在不同机顶盒上操作体验一致。

在机顶盒系统中生成浏览器控件对象webview。当接收到按键事件后,机顶盒系统将按键事件传给webview,webview将按键事件发送到云端服务器。

在云端服务器中设置云端web页面的和事件处理规则,云端web页面与机顶盒web页面相同。在云端服务器中生成云端web页面的云端页面对象。当云端服务器接收到按键事件时,将按键事件传给云端页面对象。云端页面对象根据事件处理规则对按键事件进行处理,生成页面操作结果。

当云端页面对象对按键事件进行处理时,判断是否需要调用机顶盒的本地资源,如果是,则在页面操作结果中包含调用的机顶盒的本地资源并返回。本地资源包括:图片、音频、视频、jar包、JNI等等。机顶盒可以运行多种操作系统,例如android系统。

页面操作结果包括:javascript脚本等;当判断需要调用机顶盒的本地资源时,则在javascript脚本中加入js方法,指向需要调用的机顶盒的本地资源。

当webview接收到云端服务器返回的javascript脚本时,执行javascript脚本,在机顶盒web页面中显示处理结果;其中,当webview判断javascript脚本中带有js方法时,自动调用与js方法关联的本地资源。

例如,页面操作结果有多种,例如,用户通过遥控器获取当前的电视剧A节目介绍,云端服务器返回的结果可以是关于此电视机A介绍的HTTP文件或javascript脚本,机顶盒能够直接显示。

或者,用户通过遥控器获取上次进行游戏B的分数或一张图片C,云端服务器返回结果是javascript脚本,在javascript脚本中加入js方法,指向机顶盒存储的游戏B的积分或图片C,js方法中可以是JAVA程序或JNI等等。机顶盒收到此javascript脚本后,自动调用与js方法关联的游戏B的积分,并生成HTTP文件进行显示。

上述实施例的机顶盒web页面的控制方法,解决了在机顶盒上使用遥控器操作网页比较困难的问题,确保用户可以流畅地使用遥控器操作web页面,提升用户体验,适应互联网电视快速发展的市场需求。利用云端服务器处理遥控器按键事件,能够解决本地机顶盒系统版本不同带来的按键响应结果差异和用户体验不一致问题。同时避免了web页面开发过程中需要适配不同机顶盒的系统版本的问题,节省开发成本,提高开发效率。

在一个实施例中,现有android机顶盒的遥控器按键处理流程一般为:用户使用遥控器通过浏览器或者浏览器控件webview访问网页时,遥控器的按键事件经过android系统分发到webview的onKeyDown()函数中;onKeyDown()调用android framework中自带的按键处理算法,对遥控器按键进行处理;处理结果通知本地浏览器内核webkit engine,完成对web页面的更新,例如移动焦点等。

现有android机顶盒中,android系统自带的按键处理算法在本地android系统内部,随着android版本的不同,其算法本身也会存在差异,这就导致了不同的机顶盒浏览同一个web页面时,对遥控器按键的处理结果往往不相同,表现出来就是同一web页面在不同机顶盒上的操作体验不一致。这也要求web页面在开发和测试的过程中需要考虑对不同机顶盒的适配问题,增加了开发和测试的工作量。

图2为根据本发明的机顶盒web页面的控制方法的消息交互流程图,将按键处理控制权由本地的android系统移交给云端的web页面,通过在android机顶盒的客户端中拦截用户按键事件,屏蔽android系统自带的按键响应算法,并将遥控器按键事件传给云端web页面,最终由web页面完成对按键的处理和响应,具体流程如图2所示:

步骤201,用户使用遥控器在android机顶盒上浏览网页,遥控器的按键事件经过android系统最终会分发到浏览器控件webview的onKeyDown()函数中。

步骤202,当遥控器的按键事件被送到浏览器控件webview的onKeyDown()函数时,重载onKeyDown()函数,对按键事件进行拦截,使其不再向下触发调用android自带的按键响应算法。

在onKeyDown()函数中执行一段本地JavaScript代码将当前遥控器按键的键值keyCode传给云端web页面的document对象。例如,Javacript代码如下:

步骤203,在云端的web页面中增加按键处理响应模块,负责接收传上来的按键KeyCode,并进行处理和响应。本地浏览器内核webkitengine将会解释执行上述JavaScript代码,执行结果就是把遥控器按键的keyCode传给了云端web页面的document对象。

步骤203、204,云端的web页面从document对象中获取遥控器按键keyCode,并增加相应的按键处理逻辑。判断对此keyCode的处理是否需要回调android本地java方法,若不需要,则直接在web页面内部完成按键响应处理。

按键处理逻辑中如果需要回调本地android的Java方法,则在web页面中定义新的js方法,同时在机顶盒webview控件中将此js方法与本地android的java方法进行关联。

步骤205,在机顶盒浏览器控件webview中将此js方法与本地Java方法进行关联,从而实现对android本地java方法的回调。android系统中的浏览器内核解析到web页面中新定义的js方法时,会自动执行其关联的本地android的java方法,从而完成按键的整个响应处理流程。

上述实施例中的机顶盒web页面的控制方法,把遥控器按键的处理控制权从本地机顶盒移交给了云端服务器的web页面,这样web页面的设计开发人员就可以依据自己的设计意图来统一处理和响应用户按键操作。能够使web页面上遥控器按键的响应处理逻辑更加合理,用户操作更流畅。

按键事件的响应处理由web页面来完成,由于web页面的设计开发者对自己页面的元素属性和关系非常了解,可以确保按键处理的合理性,并保证用户操作的流畅性。能够在不同的android机顶盒上向用户提供一致的操作体验,避免了web页面在不同机顶盒上的适配工作,使得按键处理逻辑与机顶盒本地系统无关,保证了用户操作体验在任何机顶盒上都是一致的,同时无须对不同机顶盒进行web页面的适配,大大减轻了web页面开发者的工作量。

如图3所示,本发明提供一种机顶盒31。事件接收单元311接收到遥控器发送的对机顶盒web页面操作的按键事件。事件拦截单元312将按键事件转发到云端服务器。结果接收单元313接收云端服务器返回的页面操作结果。页面操作单元314在机顶盒web页面上显示页面操作结果。

页面操作单元314生成浏览器控件对象webview。事件接收单元311当接收到按键事件后,将按键事件传给webview。其中,webview将按键事件发送到云端服务器。

页面操作单元314当webview接收到云端服务器返回的javascript脚本时,执行javascript脚本,在机顶盒web页面中显示处理结果。当webview判断javascript脚本中带有js方法时,页面操作单元314自动调用与js方法关联的本地资源。本地资源包括:图片、音频、视频、jar包、JNI等。

本发明提供一种机顶盒web页面的控制系统,包括:云端服务器和如上的机顶盒。云端服务器用于对按键事件进行处理并返回页面操作结果。

图4为根据本发明的机顶盒web页面的控制系统的一个实施例的云端服务器的结构示意图,如图4所示:事件处理单元411生成云端web页面的云端页面对象。云端web页面与机顶盒web页面相同;事件接收单元412当接收到按键事件时,将按键事件传给云端页面对象;云端页面对象根据事件处理规则对按键事件进行处理,生成页面操作结果。

当云端页面对象对按键事件进行处理时,判断是否需要调用机顶盒的本地资源,如果是,则事件处理单元411在页面操作结果中包含调用的机顶盒的本地资源并返回;本地资源包括:图片、音频、视频、jar包、JNI等。

页面操作结果包括:javascript脚本等。当判断需要调用机顶盒的本地资源时,则事件处理单元411在javascript脚本中加入js方法,指向需要调用的机顶盒的本地资源。

上述实施例提供的机顶盒web页面的控制方法、系统及机顶盒,将遥控器的按键处理由机顶盒本地系统移交给云端服务器处理,使得对遥控器按键的处理更加合理,用户操作更流畅且在不同机顶盒上操作体验一致,主要具有下述的优点:

1、web页面上遥控器按键的响应处理逻辑更加合理,用户操作更流畅。

2、在不同的android机顶盒上向用户提供一致的操作体验,避免了web页面在不同机顶盒上的适配工作。

3、使得按键处理逻辑与机顶盒本地系统无关,保证了用户操作体验在任何机顶盒上都是一致的,无须对不同机顶盒进行web页面的适配,大大减轻了web页面开发者的工作量。

可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1