发明内容
有鉴于此,本发明提供了一种电子设备HDMI-CEC功能的获取方法及装置,主要目的在于利用电子设备遥控器上设置的CEC快捷键,实现了通过一键触发而获取电子设备的CEC主菜单,从而大大高效地方便于后续的HDMI-CEC功能设置,提高用户获取到HDMI-CEC功能的操作体验。
为了达到上述目的,本发明主要提供如下技术方案:
本申请第一方面提供了一种电子设备HDMI-CEC功能的获取方法,应用于电子设备,所述电子设备关联对应的遥控器,所述遥控器上设置有CEC快捷键,该方法包括:
当用户操作触控所述遥控器上的CEC快捷键时,接收触控所述CEC快捷键对应触发的信号;
通过对所述信号进行处理,从所述电子设备的客户端应用中调出CEC主菜单并进行显示,所述CEC主菜单用于配置所述电子设备的HDMI-CEC功能。
在本申请第一方面的一些变更实施方式中,所述通过对所述信号进行处理,从所述电子设备的客户端应用中调出CEC主菜单并进行显示,包括:
根据所述信号,利用第一处理器捕获按键事件对应的消息信息;
将所述按键事件对应的消息信息,传递到第二处理器的内核;
利用所述内核中的按键事件驱动,将所述消息信息传递到硬件抽象层;
利用所述硬件抽象层,将所述消息传递到Java原生方法层;
通过所述Java原生方法层,将所述消息信息传递到Java应用程序框架层;
在所述Java应用程序框架层对所述消息进行处理,从客户端应用中调出CEC主菜单并进行显示。
在本申请第一方面的一些变更实施方式中,所述在所述Java应用程序框架层对所述消息进行处理,从客户端应用中调出CEC主菜单并进行显示,包括:
从所述消息信息中解析出所述按键事件对应的键值;
通过查找预先设定的应用标识和键值之间的映射关系,确定所述按键事件对应的键值所匹配的应用标识;
根据所述应用标识,从客户端应用中调出CEC主菜单;
将所述CEC主菜单输出显示。
在本申请第一方面的一些变更实施方式中,所述根据所述信号,利用第一处理器捕获按键事件对应的消息信息,包括:
根据所述信号,捕获按键事件对应的消息信息至少还包含按键按下信息和按键弹起信息;
根据所述键按下信息和所述按键弹起信息,判断按键事件对应的按键操作是否发生异常;
若是,则输出提示信息。
在本申请第一方面的一些变更实施方式中,所述电子设备至少处于以下状态中的一项:待机状态、睡眠状态和正常使用状态。
本申请第二方面提供了一种电子设备HDMI-CEC功能的获取装置,应用于电子设备,所述电子设备关联对应的遥控器,所述遥控器上设置有CEC快捷键,该装置包括:
接收单元,用于当用户操作触控所述遥控器上的CEC快捷键时,接收触控所述CEC快捷键对应触发的信号;
处理单元,用于通过对所述信号进行处理,从所述电子设备的客户端应用中调出CEC主菜单并进行显示,所述CEC主菜单用于配置所述电子设备的HDMI-CEC功能。
在本申请第二方面的一些变更实施方式中,所述处理单元包括:
捕获模块,用于根据所述信号,利用第一处理器捕获按键事件对应的消息信息;
传递模块,用于将所述按键事件对应的消息信息,传递到第二处理器的内核;
所述传递模块,还用于利用所述内核中的按键事件驱动,将所述消息信息传递到硬件抽象层;
所述传递模块,还用于利用所述硬件抽象层,将所述消息传递到Java原生方法层;
所述传递模块,还用于通过所述Java原生方法层,将所述消息信息传递到Java应用程序框架层;
处理模块,用于在所述Java应用程序框架层对所述消息进行处理,从客户端应用中调出CEC主菜单并进行显示。
在本申请第二方面的一些变更实施方式中,所述处理模块包括:
解析子模块,用于从所述消息信息中解析出所述按键事件对应的键值;
确定子模块,用于通过查找预先设定的应用标识和键值之间的映射关系,确定所述按键事件对应的键值所匹配的应用标识;
调出子模块,用于根据所述应用标识,从客户端应用中调出CEC主菜单;
输出子模块,用于将所述CEC主菜单输出显示。
在本申请第二方面的一些变更实施方式中,所述捕获模块包括:
获取子模块,用于根据所述信号,捕获按键事件对应的消息信息至少还包含按键按下信息和按键弹起信息;
判断子模块,用于根据所述键按下信息和所述按键弹起信息,判断按键事件对应的按键操作是否发生异常;
输出子模块,用于当判断按键事件对应的按键操作是发生异常时,则输出提示信息。
在本申请第二方面的一些变更实施方式中,所述电子设备至少处于以下状态中的一项:待机状态、睡眠状态和正常使用状态。
本申请第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的电子设备HDMI-CEC功能的获取方法。
本申请第四方面提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的电子设备HDMI-CEC功能的获取方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供了一种电子设备HDMI-CEC功能的获取方法及装置,本发明是预先在电子设备的遥控器上设置了CEC快捷键,继而当用户按下该CEC快捷键时,电子设备会接收到这个按键事件对应的信号,从而调出CEC主菜单。相较于现有技术,解决了现有查找电子设备上CEC主菜单操作步骤繁琐、效率低导致降低用户体验的技术问题。本发明实现了通过一键触发而获取电子设备的CEC主菜单,从而大大高效地方便于后续的HDMI-CEC功能设置,提高用户获取到HDMI-CEC功能的操作体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种电子设备HDMI-CEC功能的获取方法,如图1所示,该方法是通过一键触发而获取电子设备的CEC主菜单,对此本发明实施例提供以下具体步骤:
101、当用户操作触控遥控器上的CEC快捷键时,接收触控CEC快捷键对应触发的信号。
在本发明实施例中,电子设备对应关联了一个遥控器,本发明实施例需要预先在遥控器上设置一个CEC快捷键,CEC快捷键的作用是:让用户通过操作触控该快捷键,就能够调出电子设备侧的CEC主菜单。
那么在实际的应用场景中,当用户操作触控遥控器上的CEC快捷键时,就会相应的触发了信号,电子设备侧会接收到遥控器所触发的信号。
102、通过对信号进行处理,从电子设备的客户端应用中调出CEC主菜单并进行显示,CEC主菜单用于配置电子设备的HDMI-CEC功能。
在本发明实施例中,对于遥控器上添加的CEC快捷键,电子设备侧也会预先进行相应的配置,例如,具备识别遥控器侧触发的信号,而自动调出CEC主菜单的功能。
对于本发明实施例,电子设备相当于是一个具有客户端的终端设备,例如具有安卓(Android)***的智能电视,客户端是一个提供智能应用服务的应用程序,它所提供的智能应用服务包括了设置HDMI-CEC功能(即通过一个遥控器控制HDMI接口连接的其他设备),那么为了方便于设置该HDMI-CEC功能,客户端会向用户提供一个CEC主菜单,本发明实施例就是通过一键触控遥控器上的CEC快捷键来调出这个CEC主菜单。
进一步的,本发明实施例例举了HDMI-CEC总线通信图,如图2所示,包括了:HDMI信号发送端和HDMI信号接收端;最小化传输差分信号(Transition-minimized differentialsignaling,TMDS),又称为过渡调制差分信号,TMDS通道0/TMDS通道1/TMDS通道2用于传输视频、音频信息;TMDS时钟通道(TMDS Clock Channel);显示数据通道(Display DataChannel,DDC)通道,用于获取HDMI信号接收端增强的扩展显示数据,获取设备信息或者配置设备信息;CEC总线,通用控制总线,用于与HDMI设备的互连。
如图2所示,CEC总线是一个单独的共享总线,直接连接在设备上的所有HDMI端口间,可以流过所有完全断电的设备,CEC信号是与其他HDMI信号分开的电信号,因此这允许设备在睡眠模式下禁止其高速电路,但却可以被CEC唤醒。例如,如果电子设备处于待机状态、睡眠状态和正常使用状态,通过一键触控遥控器上的CEC快捷键来,都是可以从电子设备的客户端应用中调出CEC主菜单的。
并且,根据本发明实施例提供的遥控器所具有的CEC快捷键,就可以判断出该遥控器关联的电子设备是否具备HDMI-CEC功能。以及进一步的,在操作触控遥控器上的CEC快捷键之后,可以通过查看电子设备反馈显示出的画面效果,即是否能够成功的调出CEC主菜单,就能够间接地预判出电子设备的HDMI-CEC功能是否会出现异常。
本发明实施例提供了一种电子设备HDMI-CEC功能的获取方法,本发明实施例是预先在电子设备的遥控器上设置了CEC快捷键,继而当用户按下该CEC快捷键时,电子设备会接收到这个按键事件对应的信号,从而调出CEC主菜单。相较于现有技术,解决了现有查找电子设备上CEC主菜单操作步骤繁琐、效率低导致降低用户体验的技术问题。本发明实施例实现了通过一键触发而获取电子设备的CEC主菜单,从而大大高效地方便于后续的HDMI-CEC功能设置,提高用户获取到HDMI-CEC功能的操作体验。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种电子设备HDMI-CEC功能的获取方法,如图3所示,该方法是对上述实施例的细化解释说明,对此本发明实施例提供以下具体步骤:
201、当用户操作触控遥控器上的CEC快捷键时,接收触控CEC快捷键对应触发的信号。
在本发明实施例中,当用户操作触控遥控器上的CEC快捷键时,相当于是触发了一个按键事件,与遥控器关联的电子设备会接收到一个触发信号。示例性的,如果是红外线遥控器,那么电子设备接收到的是红外线调制脉冲信号;如果是蓝牙遥控器,那么电子设备接收到的是无线电信号。
202、根据信号,利用第一处理器捕获按键事件对应的消息信息。
在本发明实施例中,第一处理器可以是微控制单元(Microcontroller Unit,MCU),在电子设备侧接收到因按键事件而触发的信号之后,第一处理器会捕获按键事件对应的消息信息,其中,按键事件是指因用户操作触控遥控器上的按键所触发的事件。
在本发明实施例中,消息信息至少包含键值、按键按下信息和按键弹起信息。通过识别按键按下信息和按键弹起信息,判断按键事件对应的按键操作是否发生异常。例如,识别到按键按下的时间远大于按键弹起的时间,那么可以预判一个按键被按下但可能并未弹起,此种情况下,很大概率是由于按键异常导致的,即完成了一个预判操作,那么如果预判存在异常,则输出提示信息,该提示信息相当于是一种告警信息。
进一步的,如图4所示,本发明实施例提供了Android***电子设备的信号处理简易流程图,下面,结合图4,对下述步骤203-207进行解释说明:
203、利用第一处理器将按键事件对应的消息信息,传递到第二处理器的内核。
其中,第二处理器可以是采用ARM架构的处理器,ARM架构是一个精简指令集(Reduced Instruction Set Computer,RISC)处理器架构。
对于本发明实施例,电子设备内包含第一处理器和第二处理器,在电子设备工作过程中第一处理器相当于是从处理器,第二处理器相当于是主处理器。
例如,当电子设备处于正常使用状态时是由第二处理器作为主处理器而实现相应控制功能的;但当电子设备处于睡眠或未使用待机状态时是由第一处理器作为从处理器而实现相应控制功能的(例如主要为低功耗的功能)。以及再进一步需要唤醒电子设备进入正常使用状态时,也是由第一处理器先接收到触发信号并传递到第二处理器,比如,利用MCU处理器和ARM芯处理器之间的通信以完成相应的唤醒操作。
进一步,示例性的,第一处理器捕获按键事件对应的消息信息,会将该消息信息传递到第二处理器侧,具体为由第二处理器的内核(Kernel)内的驱动(KEY code driver)模块读取第一处理器发过来的消息信息,如图4示出的步骤①。以及如图4示出的步骤②③④⑤是在第二处理器侧进行的处理流程,后续步骤204-207进行解释说明。
204、利用第二处理器内核中的按键事件驱动,将消息信息传递到硬件抽象层。
其中,硬件抽象层(HardwareAbstraction Layer,HAL),位于操作***内核与硬件电路之间的接口层,其目的在于将硬件抽象化,它隐藏了特定平台的硬件接口细节,为操作***提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。
在本发明实施例中,是第二处理器内核接收到的按键事件对应的消息信息,传递到HAL层,如图4示出的步骤②,具体的,可以是通过socket跨进程通信方式通知到HAL层的。如图4,在HAL层内是由按键处理模块(Key_code)实现对消息信息进行相关处理的。
205、利用硬件抽象层,将消息信息传递到Java原生方法层。
对于Java原生方法层(KEYJNI),该层提供了C++Native功能服务,用于实现了一个Java调用非Java代码的接口,具体为:Java原生方法层是Android***内规划的通信层,对于代码处理而言,HAL层是C++,那么利用Java原生方法层相当于是将代码处理转换成了Java处理,以适用于Android***的应用程序。本步骤如图4示出的步骤③。
206、通过Java原生方法层,将消息信息传递到Java应用程序框架层。
在本发明实施例中,是由Java应用程序框架层内的按键处理管家(Phone WindowManger)模块接收到Java原生方法层传递的消息信息。本步骤如图4示出的步骤④。
207、在Java应用程序框架层对消息进行处理,从客户端应用中调出CEC主菜单并进行显示。
在本发明实施例中,本步骤如图4示出的步骤⑤,具体细化解释说明如下:
首先是,从消息信息中解析出按键事件对应的键值,通过查找预先设定的应用标识和键值之间的映射关系,确定按键事件对应的键值所匹配的应用标识。
其次是,根据这个所匹配的应用标识,从客户端应用中调出CEC主菜单,将CEC主菜单输出显示。
其中,应用标识是指:电子设备客户端应用所提供的不同智能应用服务的标识。那么根据应用标识就能够获知所提供的应用服务是什么,例如,从当前显示画面调出CEC主菜单。
需要说明的是,对于遥控器上设置的不同按键,都是会在遥控器关联的电子设备上预先做出相关配置的,该相关配置至少包括了:在电子设备侧预先配置不同应用标识和键值之间的预设映射关系。从而使得根据不同按键被按下的情况,电子设备相应的会示出不同的画面作为反馈(即某个应用服务被调出了),继而实现了使用遥控器对电子设备的操作控制。
据此,对于本发明实施例,对于遥控器上添加的CEC快捷键,会在电子设备侧预先配置CEC快捷键的键值与特定应用标识之间的预设映射关系,该特定应用标识用于指代提供的调出CEC主菜单的应用服务。从而完成了通过操作遥控器上的CEC快捷键,实现一键触发调出CEC主菜单,以方便于后续相关的在CEC主菜单上对HDMI-CEC功能的相关配置。
进一步的,作为对上述图1、图3所示方法的实现,本发明实施例提供了一种电子设备HDMI-CEC功能的获取装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于通过一键触发而获取电子设备的CEC主菜单以获取电子设备的HDMI-CEC功能,具体如图5所示,该装置包括:
接收单元31,用于当用户操作触控所述遥控器上的CEC快捷键时,接收触控所述CEC快捷键对应触发的信号;
处理单元32,用于通过对所述信号进行处理,从所述电子设备的客户端应用中调出CEC主菜单并进行显示,所述CEC主菜单用于配置所述电子设备的HDMI-CEC功能。
进一步的,如图6所示,所述处理单元32包括:
捕获模块321,用于根据所述信号,利用第一处理器捕获按键事件对应的消息信息;
传递模块322,用于将所述按键事件对应的消息信息,传递到第二处理器的内核;
所述传递模块322,还用于利用所述内核中的按键事件驱动,将所述消息信息传递到硬件抽象层;
所述传递模块322,还用于利用所述硬件抽象层,将所述消息传递到Java原生方法层;
所述传递模块322,还用于通过所述Java原生方法层,将所述消息信息传递到Java应用程序框架层;
处理模块323,用于在所述Java应用程序框架层对所述消息进行处理,从客户端应用中调出CEC主菜单并进行显示。
进一步的,如图6所示,所述处理模块323包括:
解析子模块3231,用于从所述消息信息中解析出所述按键事件对应的键值;
确定子模块3232,用于通过查找预先设定的应用标识和键值之间的映射关系,确定所述按键事件对应的键值所匹配的应用标识;
调出子模块3233,用于根据所述应用标识,从客户端应用中调出CEC主菜单;
输出子模块3234,用于将所述CEC主菜单输出显示。
进一步的,如图6所示,所述捕获模块321包括:
获取子模块3211,用于根据所述信号,捕获按键事件对应的消息信息至少还包含按键按下信息和按键弹起信息;
判断子模块3212,用于根据所述键按下信息和所述按键弹起信息,判断按键事件对应的按键操作是否发生异常;
输出子模块3213,用于当判断按键事件对应的按键操作是发生异常时,输出提示信息。
进一步的,如图6所示,所述电子设备至少处于以下状态中的一项:待机状态、睡眠状态和正常使用状态。
综上所述,本发明实施例提供了一种电子设备HDMI-CEC功能的获取方法及装置,本发明实施例是预先在电子设备的遥控器上设置了CEC快捷键,继而当用户按下该CEC快捷键时,电子设备会接收到该按键对应的信号,从而调出CEC主菜单。相较于现有技术,解决了现有查找电子设备上CEC主菜单操作步骤繁琐、效率低导致降低用户体验的技术问题。本发明实施例实现了通过一键触发而获取电子设备的CEC主菜单,从而大大高效地方便于后续的HDMI-CEC功能设置,提高用户获取到HDMI-CEC功能的操作体验。
所述电子设备HDMI-CEC功能的获取装置包括处理器和存储器,上述接收单元和处理单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来利用电子设备遥控器上设置的CEC快捷键,实现了通过一键触发而获取电子设备的CEC主菜单,从而大大高效地方便于后续的HDMI-CEC功能设置,提高用户获取到HDMI-CEC功能的操作体验。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的电子设备HDMI-CEC功能的获取方法。
本发明实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的电子设备HDMI-CEC功能的获取方法。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同***、改进等,均应包含在本申请的权利要求范围之内。