CN101937314B - 一种机顶盒界面高效切换的方法 - Google Patents
一种机顶盒界面高效切换的方法 Download PDFInfo
- Publication number
- CN101937314B CN101937314B CN2010102878760A CN201010287876A CN101937314B CN 101937314 B CN101937314 B CN 101937314B CN 2010102878760 A CN2010102878760 A CN 2010102878760A CN 201010287876 A CN201010287876 A CN 201010287876A CN 101937314 B CN101937314 B CN 101937314B
- Authority
- CN
- China
- Prior art keywords
- message
- state
- redirect
- event
- interface
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明提供一种机顶盒界面高效切换的方法,将机顶盒的每个界面作为一个容器,每个容器对应一种状态,然后使用消息引擎技术及事件处理技术,并根据状态表或使用跳转函数实现状态跳转;从而实现机顶盒界面的高效切换。本发明可以在编写少量代码的情况下,通过配置状态表来实现机顶盒界面的高效切换,可实现在机顶盒一种状态界面下向别的任意状态界面跳转的功能。
Description
【技术领域】
本发明涉及一种嵌入式技术,尤其是一种机顶盒界面高效切换的方法,特别是属于机顶盒领域技术。
【背景技术】
随着国家数字电视的大规模普及,作为数字电视终端产品的数字电视机顶盒的功能也越来越强大,作为与用户使用最多的人机交互界面也越来越多样。传统的机顶盒上界面切换通过程序编写来完成,每进入一个新的界面程序就不断的读取遥控器输入值,根据读到的遥控器输入值判断程序下一步的执行以及要切换的界面,由于不同的界面在不同的状态下切换的界面也不同。造成传统方式界面切换必须编写大量的代码来完成界面的切换工作,因此无法实现在一个界面下向任意界面跳转。传统模式下界面切换的方式如图5所示:机顶盒在开机后处于一个初始状态,每个状态对于了一个界面和一些功能。在某个状态里,都是不断等待机顶盒的按键输入或者其他如定时器等消息,当等到按键输入或消息时,根据程序的相应设置选择需要的状态,然后运行相应的功能和绘制新的界面。在每个新的状态中继续按照如图5中的流程进行。对增加新的界面都要按照这个流程编写新的分支程序。这个做法工作量大,编程容易出错。特别是不能在某个状态下,随意向其他状态切换,如图4所示,当处在状态6时,如程序需要切换到状态9,就必须先退到状态3,然后从状态3退到状态1,然后从状态1切换到状态4,然后从状态4切换到状态9,而不能直接从状态6直接切换到状态9。这样界面切换必须编写大量的代码来完成。
【发明内容】
本发明要解决的技术问题,在于提供一种机顶盒界面高效切换的方法,可以在编写少量代码的情况下,通过配置状态表来实现机顶盒界面的高效切换,可实现在机顶盒一种状态界面下向别的任意状态界面跳转的功能。
本发明是这样实现的:一种机顶盒界面高效切换的方法,其特征在于:首先,将机顶盒的界面作为一个容器,每个容器对应一种状态,每个状态对应一个ID,所述容器包括了与界面相关的界面绘制事件以及与界面相关的EVENT事件函数有关的状态进入事件、状态退出事件、状态的按键和消息相应事件;
其次,在机顶盒中设置一缓存区用于缓存消息池和按键池,提供一消息引擎,将所有事件的事件消息集中在一消息池中,通过消息引擎进行处理,并根据事件消息处理相应的事件;所述消息引擎的操作流程为:等待事件消息和按键输入,当收到事件消息后,找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,当运行完相应消息的事件后,判断消息池中是否还有消息,是则继续找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,如此反复操作,直到消息池中没有消息为止,否则等待事件消息和按键输入;当按键池中有按键输入时,则向消息引擎发送按键事件消息,并读取状态表,判断状态表中是否有初始状态和子状态,以及对应该按键的消息,是则系统通过状态表实现状态跳转,否则等待事件消息和按键输入;
处理完消息池中的消息后,接着检测按键池中是否有按键输入,如果有则向所述消息引擎发送按键事件消息,并根据状态表或使用跳转函数实现状态跳转;所述的状态表包括初始状态、状态的子状态、对应消息、要跳转的状态、跳转的方式;所述系统通过状态表或者使用跳转函数实现状态跳转时,具体的流程为:首先发送原状态的退出事件消息到消息引擎,然后发送跳转状态的界面绘制事件消息到消息引擎,最后发送跳转状态的进入消息到消息引擎,然后所有的消息将在消息引擎中得以执行;所述跳转函数的参数包括了原状态的ID,跳转状态的ID,以及跳转方式。
本发明具有如下优点:该方法将机顶盒的每个界面作为一个容器,每个容器对应一种状态,然后使用消息引擎技术及事件处理技术,并根据状态表或使用跳转函数实现状态跳转。本发明可以在编写少量代码的情况下,通过 配置状态表来实现机顶盒界面的高效切换,可实现在机顶盒一种状态界面下向别的任意状态界面跳转的功能。
【附图说明】
图1为本发明中所述容器的结构示意图。
图2为本发明中所述的状态表结构示意图。
图3为本发明中所述消息引擎的操作流程示意图。
图4为现有机顶盒界面状态切换示意图。
图5为现有机顶盒界面切换方法流程示意图。
【具体实施方式】
下面参照图1至图3结合实施例对本发明作进一步的说明:
一种机顶盒界面高效切换的方法,是通过以下方式实现的:
首先,将机顶盒的界面作为一个容器,每个容器对应一种状态,每个状态对应一个ID,见图1所示:所述容器包括了与界面绘制相关的界面的绘制事件以及与界面相关的EVENT事件函数有关的状态的进入事件、状态的退出事件、状态的按键和消息相应事件;
其次,在机顶盒中设置一缓存区用于缓存消息池和按键池,提供一消息引擎,将所有事件的事件消息集中在一消息池中,通过消息引擎进行处理,并根据事件消息处理相应的事件;
处理完消息池中的消息后,接着检测按键池中是否有按键输入,如果有则向所述消息引擎发送按键事件消息,并根据状态表或使用跳转函数实现状态跳转;见图2所示:所述的状态表包括初始状态、状态的子状态、对应消息、要跳转的状态、跳转的方式;所述跳转的方式包括直接跳转和带返回的跳转,所述带返回的跳转指的是跳转结束后在一定时间范围内还会回到原来状态。
其中所述消息引擎的操作流程见图3所示:等待事件消息和按键输入,当收到事件消息后,找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,当运行完相应消息的事件后,判断消息池中是否还有消 息(消息池是当有事件处理时,把相应的事件处理消息放入缓存区,该缓存区是消息池),是则继续找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,如此反复操作,直到消息池中没有消息为止,否则等待事件消息和按键输入;当按键池中有按键输入时(按键池是当有按键输入时,把相应的按键值及按键状态放入缓存区,该缓存区是按键池,其中按键状态分为按下状态和弹起状态),则向消息引擎发送按键事件消息,并读取状态表,判断状态表中是否有初始状态和子状态,以及对应该按键的消息,是则系统通过状态表实现状态跳转,否则等待事件消息和按键输入。
其中当系统通过状态表或者使用跳转函数实现状态跳转时,具体的流程为:首先发送原状态的退出事件消息到消息引擎,然后发送跳转状态的界面绘制事件消息到消息引擎,最后发送跳转状态的进入消息到消息引擎,然后所有的消息将在消息引擎中得以执行。
其中所述跳转函数的参数包括了原状态的ID,跳转状态的ID,以及跳转方式。
其中值得一提的是:在每个状态中包括许多子状态,在每个状态中对响应按键的输入或消息池中的消息的位置,这些都是状态的子状态。
总之,机顶盒界面高效切换的方法,将机顶盒的每个界面作为一个容器,每个容器对应一种状态,然后使用消息引擎技术及事件处理技术,并根据状态表或使用跳转函数实现状态跳转。本发明可以在编写少量代码的情况下,通过配置状态表来实现机顶盒界面的高效切换,可实现在机顶盒一种状态界面下向别的任意状态界面跳转的功能。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种机顶盒界面高效切换的方法,其特征在于:首先,将机顶盒的每个界面作为一个容器,每个容器对应一种状态,每个状态对应一个ID,所述容器包括了与界面相关的界面绘制事件以及与界面相关的EVENT事件函数有关的状态进入事件、状态退出事件、状态的按键和消息相应事件;
其次,在机顶盒中设置一缓存区用于缓存消息池和按键池,并提供一消息引擎,将所有事件的事件消息集中在一消息池中,通过消息引擎进行处理,并根据事件消息处理相应的事件;所述消息引擎的操作流程为:等待事件消息和按键输入,当收到事件消息后,找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,当运行完相应消息的事件后,判断消息池中是否还有消息,是则继续找到对应状态下该消息注册的事件,并执行相应的EVENT事件函数,如此反复操作,直到消息池中没有消息为止,否则等待事件消息和按键输入;当按键池中有按键输入时,则向消息引擎发送按键事件消息,并读取状态表,判断状态表中是否有初始状态和子状态,以及对应该按键的消息,是则系统通过状态表实现状态跳转,否则等待事件消息和按键输入;
处理完消息池中的消息后,接着检测按键池中是否有按键输入,如果有则向所述消息引擎发送按键事件消息,并根据状态表或使用跳转函数实现状态跳转;所述的状态表包括初始状态、状态的子状态、对应消息、要跳转的状态、跳转的方式;所述系统通过状态表或者使用跳转函数实现状态跳转时,具体的流程为:首先发送原状态的退出事件消息到消息引擎,然后发送跳转状态的界面绘制事件消息到消息引擎,最后发送跳转状态的进入消息到消息引擎,然后所有的消息将在消息引擎中得以执行;所述跳转函数的参数包括了原状态的ID,跳转状态的ID,以及跳转方式。
2.根据权利要求1所述的一种机顶盒界面高效切换的方法,其特征在于:所述跳转的方式包括直接跳转和带返回的跳转,所述带返回的跳转指的是跳转结束后在一定时间范围内还会回到原来状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102878760A CN101937314B (zh) | 2010-09-20 | 2010-09-20 | 一种机顶盒界面高效切换的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102878760A CN101937314B (zh) | 2010-09-20 | 2010-09-20 | 一种机顶盒界面高效切换的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101937314A CN101937314A (zh) | 2011-01-05 |
CN101937314B true CN101937314B (zh) | 2012-05-30 |
Family
ID=43390670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102878760A Expired - Fee Related CN101937314B (zh) | 2010-09-20 | 2010-09-20 | 一种机顶盒界面高效切换的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101937314B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446715A (zh) * | 2014-08-18 | 2016-03-30 | 惠州市德赛西威汽车电子股份有限公司 | 一种管理界面切换逻辑的方法 |
CN108549560B (zh) * | 2018-02-28 | 2022-02-08 | 腾讯科技(成都)有限公司 | 界面状态的切换方法和装置、存储介质、电子装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0789349B2 (ja) * | 1988-03-09 | 1995-09-27 | 富士通株式会社 | メッセージ表示処理方式 |
CN1688158A (zh) * | 2005-04-08 | 2005-10-26 | 熊猫电子集团有限公司 | 电视功能快速搜索调谐的方法 |
CN1882069A (zh) * | 2005-06-17 | 2006-12-20 | 乐金电子(沈阳)有限公司 | 电视机用户接口及其设定方法 |
CN100418365C (zh) * | 2006-09-26 | 2008-09-10 | 于华利 | 数字电视机显示屏用户界面直观遥控的方法 |
-
2010
- 2010-09-20 CN CN2010102878760A patent/CN101937314B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101937314A (zh) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103634636B (zh) | 一种Android智能电视的应用快捷操控方法和系统 | |
CN102096998A (zh) | 遥控信息接收处理方法及系统和数字电视接收装置 | |
CN103677989A (zh) | 一种利用linux内核实现多系统的装置及方法 | |
CN103067784A (zh) | 一种基于触摸屏电视机的虚拟按键方法及电视机 | |
CN106843814B (zh) | 用于机器人系统交互的多指令处理方法及装置 | |
CN104185054A (zh) | 快捷遥控方法及装置 | |
CN100596176C (zh) | 用于iptv遥控器的信息显示方法及装置 | |
CN102981875B (zh) | 一种基于android的x86端按键适配方法及系统 | |
CN102420911A (zh) | 智能手机双系统切换装置及切换方法 | |
CN104679413A (zh) | 一种音乐播放的控制方法及装置 | |
CN101937314B (zh) | 一种机顶盒界面高效切换的方法 | |
CN102768840A (zh) | 一种视频播放控制方法和终端设备 | |
CN104994427A (zh) | 配置管理智能电视桌面开机是否自启动的方法及系统 | |
CN202748769U (zh) | 快速切换应用程序的终端 | |
CN102194435A (zh) | 多端口显示设备的信号源显示的切换方法 | |
CN101729825B (zh) | 一种频道切换控制方法、装置及电子设备 | |
CN102984579B (zh) | 一种机顶盒的按键音效实现方法及机顶盒 | |
CN100501682C (zh) | 一种数字家庭网络多任务并发执行装置的并发执行方法 | |
CN102467383B (zh) | 一种在嵌入式系统图形界面实现标签页窗口的方法 | |
CN102170588B (zh) | 一种有遥控器的机顶盒及其切换工作状态的方法 | |
CN102104804A (zh) | 一种网络电视的同步控制方法 | |
CN101577802A (zh) | 一种移动终端节目录制方法、系统及移动终端 | |
CN102572566A (zh) | 通过遥控器选择智能设备上应用功能的方法及智能设备 | |
CN102118587A (zh) | 一种视频设备遥控器快捷键设置方法及快捷键设置系统 | |
CN104461333A (zh) | 多桌面启动器切换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 Termination date: 20150920 |
|
EXPY | Termination of patent right or utility model |