本發(fā)明涉及電子信息技術,特別涉及一種適配多遙控器的方法和裝置。
背景技術:
隨著數(shù)字電視的發(fā)展,出現(xiàn)了諸如大屏電視、高清電視、互聯(lián)網(wǎng)電視等,相應的,數(shù)字電視的功能也越來越強大,例如游戲、在線小說、瀏覽網(wǎng)頁等功能。
伴隨著數(shù)字電視越來越多的新應用功能,原來的簡單按鍵式紅外遙控器已經(jīng)無法滿足用戶的實際應用需求。因此,各種新型的遙控器或新型控制裝置也在不斷出現(xiàn),很多數(shù)字電視的機頂盒經(jīng)常要配備紅外遙控器及選配其它的陀螺儀式鼠標遙控器、專用藍牙游戲遙控器等。而要機頂盒能適配為其所配備的多款遙控器,就需要修改機頂盒的系統(tǒng)。機頂盒系統(tǒng)通常包括系統(tǒng)啟動模塊、系統(tǒng)升級模塊、系統(tǒng)應用模塊等幾個相對獨立的模塊,為使機頂盒適配除基本的紅外遙控器之外的控制裝置,主要需要重新開發(fā)系統(tǒng)應用模塊及修改該模塊中對控制指令碼(遙控鍵值)的定義,同時也需要分別修改系統(tǒng)啟動模塊、系統(tǒng)升級模塊等其它模塊中對控制指令碼的定義。雖然只對系統(tǒng)啟動模塊、系統(tǒng)升級模塊等其它模塊進行了小范圍修改,但勢必也會增加對系統(tǒng)修改的測試工作量,影響系統(tǒng)軟件的健壯性和穩(wěn)定性。
技術實現(xiàn)要素:
為解決相關技術問題,本發(fā)明的目的在于提供一種適配多遙控器的方法和裝置,以解決現(xiàn)有技術中實現(xiàn)適配多遙控器時,測試效率低,系統(tǒng)軟件健壯性和穩(wěn)定性差的問題。
為實現(xiàn)上述目的,本發(fā)明實施例采用如下技術方案:
第一方面,本發(fā)明實施例提供了一種適配多遙控器的方法,所述方法包括:
接收用戶通過遙控器發(fā)出的當前控制指令碼;
在控制指令碼信息庫中查詢與所述當前控制指令碼對應的映射碼值,其中,所述控制指令碼信息庫中預存有待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值;
根據(jù)與所述當前控制指令碼對應的映射碼值生成控制指令;
根據(jù)所述控制指令運行目標子程序,執(zhí)行相應的功能。
第二方面,本發(fā)明實施例還對應地提供了一種適配多遙控器的裝置,所述裝置包括:
當前控制指令碼接收模塊,用于接收用戶通過遙控器發(fā)出的當前控制指令碼;
映射碼值查詢模塊,用于在控制指令碼信息庫中查詢與所述當前控制指令碼對應的映射碼值,其中,所述控制指令碼信息庫中預存有待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值;
控制指令生成模塊,用于根據(jù)與所述當前控制指令碼對應的映射碼值生成控制指令;
目標子程序運行模塊,用于根據(jù)所述控制指令運行目標子程序,執(zhí)行相應的功能。
本發(fā)明實施例提供的技術方案帶來的有益效果:
本技術方案中,通過在控制指令碼信息庫中預存待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值,當接收到來自遙控器的當前控制指令碼時,在控制指令碼信息庫中查詢到與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值生成控制指令,控制目標子程序運行,執(zhí)行相應的功能;在實現(xiàn)適配多款遙控器的同時,只需修改系統(tǒng)的應用子程序和控制指令碼信息庫即可,無需修改系統(tǒng)的啟動子程序、升級子程序等其它子程序,有效減少了對系統(tǒng)的修改量,因此,可以減少對系統(tǒng)修改的測試工作量,并且保證了系統(tǒng)軟件的健壯性和穩(wěn)定性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對本發(fā)明實施例描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)本發(fā)明實施例的內容和這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例一提供的一種適配多遙控器的方法的流程示意圖;
圖2A是本發(fā)明實施例二提供的一種適配多遙控器的方法的流程示意圖;
圖2B是圖2A中S230的可選實施方式的流程示意圖;
圖2C是圖2A中S250的可選實施方式的流程示意圖;
圖3是本發(fā)明實施例三提供的一種適配多遙控器的裝置的架構示意圖;
圖4A是本發(fā)明實施例三提供的一種適配多遙控器的裝置的架構示意圖;
圖4B是圖4A中映射碼值查詢模塊430的可選實施方式的架構示意圖;
圖4C是圖4A中目標子程序運行模塊450的可選實施方式的架構示意圖。
具體實施方式
為使本發(fā)明解決的技術問題、采用的技術方案和達到的技術效果更加清楚,下面將結合附圖對本發(fā)明實施例的技術方案作進一步的詳細描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例一
請參考圖1,其是本發(fā)明實施例一提供的一種適配多遙控器的方法的流程示意圖。本實施例的方法可以由電視機的機頂盒等需要接收遙控設備的遙控指令的終端來執(zhí)行,可應用于為電視機的機頂盒適配多款遙控器的場景。
本實施例提供的一種適配多遙控器的方法,可以包括如下步驟:
S110:接收用戶通過遙控器發(fā)出的當前控制指令碼。
示例性的,當用戶需要控制電視機執(zhí)行開機、換臺、調節(jié)音量等操作時,用戶通過遙控器上的按鍵向電視機的機頂盒發(fā)出控制指令,記為當前控制指令,遙控器上的每個按鍵都對應一個控制指令,每個控制指令又都對應一個控制指令碼,機頂盒通過信號接收器接收與當前控制指令相對應的當前控制指令碼??刂浦噶畲a可以由多種表現(xiàn)形式,例如最常見的有二進制碼。
S120:在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值。
示例性的,控制指令碼信息庫中預存有待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值,即控制指令碼信息庫中保存有待適配遙控器的各控制指令碼與各映射碼值的關聯(lián)關系,每個映射碼值又對應機頂盒系統(tǒng)下的不同功能,例如開機、升級等功能。機頂盒接收到與當前控制指令對應的當前控制指令碼后,調用機頂盒系統(tǒng)下的控制指令碼信息庫,在該控制指令碼信息庫中查詢與該當前控制指令碼所對應的映射碼值。關于映射碼值的查詢方法,本發(fā)明實施例二給出了可選的實施方式,在此不加以贅述。
需要說明的是,本發(fā)明實施例中的控制指令碼信息庫是獨立于機頂盒系統(tǒng)下各子程序之外的一個信息庫,即開機子程序、升級子程序、應用子程序等子程序中沒有針對遙控器的控制指令碼的定義部分,因此,對控制指令碼的識別只需調用控制指令碼信息庫即可,而無需在各子程序中識別控制指令碼。當電視機需要適配新的遙控器和功能時,只需重新開發(fā)應用子程序及更新控制指令碼信息庫,而對于機頂盒系統(tǒng)下除應用子程序以外的其它程序都無需更改。
S130:根據(jù)與當前控制指令碼對應的映射碼值生成控制指令。
示例性的,查詢到與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值對應要執(zhí)行的功能,機頂盒的處理器生成一個對應的控制指令,該控制指令用于控制機頂盒運行機頂盒系統(tǒng)下的某個子程序。
S140:根據(jù)控制指令運行目標子程序,執(zhí)行相應的功能。
示例性的,機頂盒系統(tǒng)響應生成的控制指令,跳轉至目標子程序開始運行,機頂盒執(zhí)行與該目標子程序所對應的功能,例如開機、系統(tǒng)升級、調節(jié)電視節(jié)目的頻道參數(shù)等。根據(jù)控制指令運行目標子程序的過程,本發(fā)明實施例二給出了可選的實施方式,在此不加以贅述。
需要說明的是,本發(fā)明實施例的方法,還可以應用于空調、智能電扇等需要通過遙控裝置來控制的設備,遙控裝置可以是遙控器、模擬成遙控的手機等設備。
綜上,在本技術方案中,通過在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值生成控制指令,控制目標子程序運行,執(zhí)行相應的功能;通過控制指令碼信息庫,在實現(xiàn)機頂盒適配多款遙控器的同時,只需修改系統(tǒng)的應用子程序和控制指令碼信息庫即可,無需修改系統(tǒng)下除應用子程序之外的其它子程序,有效減少了對系統(tǒng)的修改量,因此,可以減少對系統(tǒng)修改的測試工作量,并且保證了系統(tǒng)軟件的健壯性和穩(wěn)定性。
實施例二
請參考圖2A、圖2B和圖2C,其中,圖2A是本發(fā)明實施例二提供的一種適配多遙控器的方法的流程示意圖;圖2B是圖2A中S230的可選實施方式的流程示意圖;圖2C是圖2A中S250的可選實施方式的流程示意圖。本實施例與實施例一的主要區(qū)別在于,在實施例一的基礎上增加了S210和S260兩個步驟的內容,并進一步分別提供了圖2A中S230和S250的可選實施方式。
本實施例提供的一種適配多遙控器的方法,可以包括如下步驟:
S210:根據(jù)待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值建立控制指令碼信息庫。
示例性的,生廠商在生產(chǎn)電視機的機頂盒時,在機頂盒系統(tǒng)中建立一個控制指令碼信息庫,該控制指令碼信息庫中包括為機頂盒適配的多款遙控器的全部控制指令碼信息,以及分別與各控制指令碼對應的映射碼值信息。
需要說明的是,通常機頂盒配備有最基本的紅外遙控器,此外,還可以為機頂盒配備陀螺儀式鼠標遙控器、專用藍牙游戲遙控器等其它遙控器,不同遙控器的控制指令碼是不同的,但各遙控器的按鍵所對應的功能可能相同,也可能不相同,因此,不同遙控器發(fā)出的控制指令碼對應的映射碼值可能相同,也可能不相同。例如,不同遙控器都可實現(xiàn)控制機頂盒開機或關機,此時,不同遙控器的不同控制指令碼對應的是同一個映射碼值;再例如,新適配的遙控器通常都有增加新的功能,如瀏覽網(wǎng)頁時的翻頁功能、玩游戲時的游戲人物跳躍和下蹲功能,這些功能是普通紅外遙控器不具備的功能,需要為新增加的功能定義新的映射碼值,將新的映射碼值與相應的控制指令碼對應,并更新到控制指令碼信息庫。
S220:接收用戶通過遙控器發(fā)出的當前控制指令碼。
S230:在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值。
可選的,如圖2B所示,S230可以包括S231和S232兩個步驟,其中:
S231:將當前控制指令碼與控制指令碼信息庫中預存的控制指令碼進行匹配。
S232:獲得與當前控制指令碼匹配成功的控制指令碼所對應的映射碼值。
S240:根據(jù)與當前控制指令碼對應的映射碼值生成控制指令。
S250:根據(jù)控制指令運行目標子程序,執(zhí)行相應的功能。
可選的,如圖2C所示,S250可以包括S251和S252兩個步驟,其中:
S251:根據(jù)控制指令識別目標子程序的啟動標識符。
示例性的,機頂盒系統(tǒng)下的各子程序都包含有對應的啟動標識符,根據(jù)該啟動標識符可區(qū)分不同的子程序。
S252:根據(jù)啟動標識符運行目標子程序,執(zhí)行相應的功能。
舉例來說,若用戶通過遙控器發(fā)出的是開機指令碼,則生成的是開機指令,根據(jù)開機指令識別開機子程序的啟動標識符,根據(jù)該啟動標識符運行開機子程序,執(zhí)行開機功能;再舉例來說,若用戶通過遙控器發(fā)出的是升級指令碼,則生成的是升級指令,根據(jù)升級指令識別升級子程序的啟動標識符,根據(jù)該升級標識符運行升級子程序,執(zhí)行系統(tǒng)升級功能。
S260:如果沒有接收到來自遙控器的控制指令碼,則運行默認的子程序,執(zhí)行默認的功能。
示例性的,機頂盒沒有接收到來自遙控器的控制指令碼包括兩種情況,其一是用戶沒有通過遙控器發(fā)出控制指令碼,其二是發(fā)出控制指令碼的遙控器與機頂盒不適配,機頂盒不能識別該控制指令碼,對于這兩種情況,機頂盒都是繼續(xù)運行默認的子程序,執(zhí)行默認的功能,例如運行應用子程序。
綜上,在本技術方案中,根據(jù)待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值建立控制指令碼信息庫,通過在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值生成控制指令,控制目標子程序運行,執(zhí)行相應的功能,如果沒有接收到來自遙控器的控制指令碼,則運行默認的子程序,執(zhí)行默認功能;通過控制指令碼信息庫,在實現(xiàn)機頂盒適配多款遙控器的同時,只需修改系統(tǒng)的應用子程序和控制指令碼信息庫即可,無需修改系統(tǒng)下除應用子程序之外的其它子程序,有效減少了對系統(tǒng)的修改量,因此,可以減少對系統(tǒng)修改的測試工作量,并且保證了系統(tǒng)軟件的健壯性和穩(wěn)定性。
以下是本發(fā)明實施例提供的一種適配多遙控器的裝置的實施例,一種適配多遙控器的裝置和上述一種適配多遙控器的方法屬于同一個發(fā)明構思,在裝置的實施例中未詳盡描述的細節(jié)內容,可參考上述方法的實施例。
實施例三
請參考圖3,是本發(fā)明實施例三提供的一種適配多遙控器的裝置的架構示意圖。
本實施例提供的一種適配多遙控器的裝置300,可以包括如下內容:
當前控制指令碼接收模塊310,用于接收用戶通過遙控器發(fā)出的當前控制指令碼。
映射碼值查詢模塊320,用于在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,其中,控制指令碼信息庫中預存有待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值。
控制指令生成模塊330,用于根據(jù)與當前控制指令碼對應的映射碼值生成控制指令。
目標子程序運行模塊340,用于根據(jù)控制指令運行目標子程序,執(zhí)行相應的功能。
綜上,在本技術方案中,通過在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值生成控制指令,控制目標子程序運行,執(zhí)行相應的功能;通過控制指令碼信息庫,在實現(xiàn)機頂盒適配多款遙控器的同時,只需修改系統(tǒng)的應用子程序和控制指令碼信息庫即可,無需修改系統(tǒng)下除應用子程序之外的其它子程序,有效減少了對系統(tǒng)的修改量,因此,可以減少對系統(tǒng)修改的測試工作量,并且保證了系統(tǒng)軟件的健壯性和穩(wěn)定性。
實施例四
請參考圖4A、圖4B和圖4C,其中,圖4A是本發(fā)明實施例三提供的一種適配多遙控器的裝置的架構示意圖;圖4B是圖4A中映射碼值查詢模塊430的可選實施方式的架構示意圖;圖4C是圖4A中目標子程序運行模塊450的可選實施方式的架構示意圖。本實施例與實施例三的主要區(qū)別在于,在實施例三的基礎上增加了控制指令碼信息庫建立模塊410和默認子程序運行模塊460的內容,并進一步分別提供了映射碼值查詢模塊430和目標子程序運行模塊450的可選實施方式。
本實施例提供的一種適配多遙控器的裝置400,可以包括如下內容:
控制指令碼信息庫建立模塊410,用于根據(jù)待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值建立控制指令碼信息庫。
當前控制指令碼接收模塊420,用于接收用戶通過遙控器發(fā)出的當前控制指令碼。
映射碼值查詢模塊430,用于在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,其中,控制指令碼信息庫中預存有待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值。
可選的,如圖4B所示,映射碼值查詢模塊430可以包括控制指令碼匹配單元431和映射碼值獲得單元432,其中:
控制指令碼匹配單元431,用于將當前控制指令碼與控制指令碼信息庫中預存的控制指令碼進行匹配。
映射碼值獲得單元432,用于獲得與當前控制指令碼匹配成功的控制指令碼所對應的映射碼值。
控制指令生成模塊440,用于根據(jù)與當前控制指令碼對應的映射碼值生成控制指令。
目標子程序運行模塊450,用于根據(jù)控制指令運行目標子程序,執(zhí)行相應的功能。
可選的,如圖4C所示,目標子程序運行模塊450可以包括啟動標識符識別單元451和目標子程序運行單元452,其中:
啟動標識符識別單元451,用于根據(jù)控制指令識別目標子程序的啟動標識符。
目標子程序運行單元452,用于根據(jù)啟動標識符運行目標子程序,執(zhí)行相應的功能。
默認子程序運行模塊460,用于如果沒有接收到來自遙控器的控制指令碼,則運行默認子程序,執(zhí)行默認的功能。
綜上,在本技術方案中,根據(jù)待適配的多款遙控器的全部控制指令碼,以及分別與各控制指令碼對應的映射碼值建立控制指令碼信息庫,通過在控制指令碼信息庫中查詢與當前控制指令碼對應的映射碼值,根據(jù)該映射碼值生成控制指令,控制目標子程序運行,執(zhí)行相應的功能,如果沒有接收到來自遙控器的控制指令碼,則運行默認的子程序,執(zhí)行默認功能;通過控制指令碼信息庫,在實現(xiàn)機頂盒適配多款遙控器的同時,只需修改系統(tǒng)的應用子程序和控制指令碼信息庫即可,無需修改系統(tǒng)下除應用子程序之外的其它子程序,有效減少了對系統(tǒng)的修改量,因此,可以減少對系統(tǒng)修改的測試工作量,并且保證了系統(tǒng)軟件的健壯性和穩(wěn)定性。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術原理。本領域技術人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領域技術人員來說能夠進行各種明顯的變化、重新調整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權利要求范圍決定。