本發(fā)明涉及通信技術領域,特別是涉及一種對講的發(fā)起方法和一種對講的發(fā)起裝置。
背景技術:
隨著科技和經濟的發(fā)展,對講機廣泛應用在保安、物流、運輸以及工業(yè)管理等需要遠程通話和調度應用領域。
為了方便用戶使用對講機,可以通過藍牙等方式在對講機上外接一對講設備,俗稱手咪,通過手咪的麥克風輸入音頻到對講機中,進行對講操作。
目前,手咪在講話時提供搶話權操作,如果用戶發(fā)起對講時,使用在對講機按下某個功能按鍵發(fā)起對講,然后通過手咪講話,操作繁瑣。
技術實現要素:
鑒于上述問題,為了解決上述在外接對講設備時通過對講機的按鍵發(fā)起對講操作繁瑣的問題,本發(fā)明實施例提出了一種對講的發(fā)起方法和相應的一種對講的發(fā)起裝置。
依據本發(fā)明的一個方面,提供了一種對講的發(fā)起方法,應用在對講主機中,所述對講主機通過通信鏈路連接對講輔機,所述方法包括:
接收所述對講輔機發(fā)送的搶話權的命令;
判斷所述對講主機是否處于對講狀態(tài);
若是,則根據所述搶話權的命令申請講話權限;
若否,則根據所述搶話權的命令生成對講發(fā)起消息;
按照所述對講發(fā)起消息發(fā)起對講操作。
根據本發(fā)明的另一方面,提供了一種對講的發(fā)起裝置,應用在對講主機中,所述對講主機通過通信鏈路連接對講輔機,所述裝置包括:
搶話權命令接收模塊,用于接收所述對講輔機發(fā)送的搶話權的命令;
對講狀態(tài)判斷模塊,用于判斷所述對講主機是否處于對講狀態(tài);若是,則調用講話權限申請模塊,若否,則調用對講發(fā)起消息生成模塊;
講話權限申請模塊,用于根據所述搶話權的命令申請講話權限;
對講發(fā)起消息生成模塊,用于根據所述搶話權的命令模擬對講發(fā)起消息;
對講操作發(fā)起模塊,用于按照所述對講發(fā)起消息發(fā)起對講操作。
本發(fā)明實施例包括以下優(yōu)點:
在本發(fā)明實施例中,對講主機通過通信鏈路連接對講輔機,如果對講主機接收對講輔機發(fā)送的搶話權的命令,則可以檢測對講主機當前所處的狀態(tài),如果是未發(fā)生對講,則可以模擬對講發(fā)起消息并發(fā)起對講操作,通過復用搶話權的命令,以對講狀態(tài)作為選擇條件,實現了對講輔機控制發(fā)起對講操作并直接進行講話,避免用戶在對講主機按下某個功能按鍵發(fā)起對講操作并通過對講輔機講話,大大提高了操作的簡便性,并且,并未對對講主機、對講輔機進行硬件上的修改,開發(fā)成本小,如果是已發(fā)生對講,則可以根據搶話權的命令申請講話權限,保證正常使用。
附圖說明
圖1是本發(fā)明的一種對講的發(fā)起方法實施例的步驟流程圖;
圖2是本發(fā)明的另一種對講的發(fā)起方法實施例的步驟流程圖;
圖3是本發(fā)明實施例的一種對講命令的處理流程圖;
圖4是本發(fā)明的另一種對講的發(fā)起方法實施例的步驟流程圖;
圖5是本發(fā)明的一種對講的發(fā)起裝置實施例的結構框圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
參照圖1,示出了本發(fā)明的一種對講的發(fā)起方法實施例的步驟流程圖。
在具體實現中,本發(fā)明實施例可以應用在對講主機中,該對講主機可以為手機、平板電腦、智能可穿戴設備(如智能手表)等移動終端,也可以為專門的對講機,本發(fā)明實施例對此不加以限制。
這些移動終端可以運行WindowsPhone、Android(安卓)、IOS、Windows等操作系統(tǒng),可以支持藍牙、紅外、Wi-Fi(WIreless-FIdelity,無線保真)等無線通信方式。
在本發(fā)明實施例中,該對講主機可以與其他對講機進行雙方通話,也可以進行多方(三者或三者以上)進行多方通話。
此外,對講主機可以通過通信鏈路連接對講輔機(如手咪),該對講輔機可以為輸入或輸出語音,用戶可以通過對該講機輔機輔助進行對講。
其中,該通信鏈路可以為無線通信鏈路,如藍牙鏈路等。
對講主機與對講輔機之間的通信信息可以包括如下消息和命令:
1、對講輔機向對講主機發(fā)送命令:
AT+XEVENT=TALK,1
按下對講輔機的按鍵之后發(fā)送的命令,可以用于搶話權(即講話權限),講話用;
AT+XEVENT=TALK,0
抬起對講輔機的按鍵之后發(fā)送的命令,可以用于釋放話權,不再講話。
2、對講主機向對講輔機發(fā)送消息:
AT+XEVENT=STATE,1
話權空閑,對講主機通知對講輔機,現在無人講話。
AT+XEVENT=STATE,2
請講,對講主機通知對講輔機,當前講話權限屬于當前用戶,當前用戶可以講話。
AT+XEVENT=STATE,3
請聽,對講主機通知對講輔機,當前講話權限屬于其他用戶,當前用戶可以聽其他用戶講話。
AT+XEVENT=STATE,4
對講結束或者無對講,對講主機通知對講輔機,對講結束了。
在Android系統(tǒng)中,對講主機中鏈路進程與對講進程屬于不同的進程,因此,一般是將對講的狀態(tài)(話權空閑、請講、請聽、對講結束或者無對講)上報鏈路進程,然后通過鏈路進程發(fā)送AT消息給對講輔機。
為了保證實時性,該部分功能可以通過TelephonyRegistry完成,在TelephonyRegistry中添加一個消息,然后鏈路進程通過TelephonyRegistry監(jiān)聽該消息,該消息將攜帶對講的狀態(tài)(話權空閑、請講、請聽、對講結束或者無對講),如果監(jiān)聽到該消息,則可以發(fā)送AT消息給對講輔機。
如上四個AT消息可以用于控制對講輔機上的指示燈亮不同的顏色,當前用戶通過顏色可以了解到當前對講的狀態(tài)。
如圖1所示,該方法具體可以包括如下步驟:
步驟101,接收所述對講輔機發(fā)送的搶話權的命令。
在本發(fā)明實施例中,在對講輔機中可以提供一個按鍵,若用戶按下該按鍵,則對講輔機可以通過該通信鏈路向對講輔機發(fā)送搶話權的命令,如AT+XEVENT=TALK,1。
需要說明的是,對講輔機中提供的按鍵,可以是物理按鍵,也可以是虛擬按鍵,本發(fā)明實施例對此不加以限制。
步驟102,判斷所述對講主機是否處于對講狀態(tài);若是,則執(zhí)行步驟103,若否,則執(zhí)行步驟104。
在本發(fā)明實施例中,如果對講主機接收對講輔機發(fā)送的搶話權的命令(如AT+XEVENT=TALK,1),可以通過檢測當前是否處于對講狀態(tài),從而確定發(fā)起對講操作,或者,搶話權。
其中,該對講狀態(tài)可以包括如下的一種或多種:
1、正在對講,即當前用戶與其他用戶對講。
2、未發(fā)生對講,即當前用戶為與其他用戶對講。
步驟103,根據所述搶話權的命令申請講話權限。
在本發(fā)明實施例中,如果對講主機正在對講,搶話權的命令保持原本的含義,可以申請講話權限。
步驟104,根據所述搶話權的命令生成對講發(fā)起消息。
在本發(fā)明實施例中,對搶話權的命令(如AT+XEVENT=TALK,1)進行擴展,如果對講主機未發(fā)生對講,則可以模擬在對講主機中的對講發(fā)起消息,以發(fā)起對講操作。
步驟105,按照所述對講發(fā)起消息發(fā)起對講操作。
若模擬了對講發(fā)起消息(如指定按鍵的按鍵消息),則對講主機中與對講相關的界面、服務均可以監(jiān)聽到講發(fā)起消息(如指定按鍵的按鍵消息),并按照該講發(fā)起消息(如指定按鍵的按鍵消息)發(fā)起對講。
此時,講話權限屬于當前的對講主機,可以對其他對講主機講話。
在具體實現中,當前的對講主機可以確定意圖對講的一個或多個用戶的地址,與這些地址建立通話鏈接,則可以依據講話權限進行講話。
在本發(fā)明實施例中,對講主機通過通信鏈路連接對講輔機,如果對講主機接收對講輔機發(fā)送的搶話權的命令,則可以檢測對講主機當前所處的狀態(tài),如果是未發(fā)生對講,則可以模擬對講發(fā)起消息并發(fā)起對講操作,通過復用搶話權的命令,以對講狀態(tài)作為選擇條件,實現了對講輔機控制發(fā)起對講操作并直接進行講話,避免用戶在對講主機按下某個功能按鍵發(fā)起對講操作并通過對講輔機講話,大大提高了操作的簡便性,并且,并未對對講主機、對講輔機進行硬件上的修改,開發(fā)成本小,如果是已發(fā)生對講,則可以根據搶話權的命令申請講話權限,保證正常使用。
參照圖2,示出了本發(fā)明的另一種對講的發(fā)起方法實施例的步驟流程圖,應用在對講主機中,對講主機通過通信鏈路連接對講輔機,具體可以包括如下步驟:
步驟201,接收所述對講輔機發(fā)送的搶話權的命令。
在具體實現中,如果對講輔機中由鏈路進程(如藍牙進程)維護通信鏈路,則可以由該鏈路進程接收對講輔機發(fā)送的搶話權的命令。
步驟202,判斷所述對講主機是否處于對講狀態(tài);若是,則執(zhí)行步驟203,若否,則執(zhí)行步驟204。
在具體實現中,鏈路進程在收到搶話權和釋放話權的命令時,為了及時將命令傳遞給對講進程(如QChat)實現搶話權和釋放話權的操作,可以通過復用已有的通話服務(如Telecom Service)提供接口,實現對講進程之外的進程訪問對講狀態(tài)。
其中,通話服務(如Telecom Service)可以是操作系統(tǒng)中已有的、提供與通話相關操作的服務。
在對講進程啟動之后,通話服務可以綁定對講進程,然后通話服務對外提供接口實現對講狀態(tài)的查詢操作,其他進程可以如應用查詢通話狀態(tài)一樣查詢對講狀態(tài)。
因此,鏈路進程在接收到搶話權的命令(如AT+XEVENT=TALK,1)之后,可以調用通話服務提供的接口將搶話權的命令發(fā)送至對講進程。
對講進程可以通過通話鏈路等方式檢測對講主機當前的對講狀態(tài)。
如果當前對講主機與其他對講主機建立了通話鏈路,則確定當前的對講狀態(tài)為正在對講。
如果當前對講主機未與其他對講主機建立通話鏈路,則確定當前的對講狀態(tài)為未發(fā)生對講。
步驟203,根據所述搶話權的命令申請講話權限。
在本發(fā)明實施例中,如果對講主機正在對講,搶話權的命令保持原本的含義,對講進程可以申請講話權限。
步驟204,根據所述搶話權的命令映射對講發(fā)起操作標識。
在具體實現中,對講進程可以根據搶話權的命令映射一對講發(fā)起操作標識。
在本發(fā)明實施例的一個示例中,對講主機配置有第一按鍵,對講輔機配置有第二按鍵,在對講主機中針對第二按鍵存儲有按鍵變量。
當然,在對講主機中還可以針對第一按鍵存儲有其他按鍵變量,該其他按鍵變量可以依據第一按鍵的狀態(tài)(如按下、抬起等)而寫入相應的值,本發(fā)明實施例對此不加以限制。
其中,按鍵變量初始記載對講輔機中第二按鍵的抬起標識(即表示第二按鍵抬起的標識)。
需要說明的是,按鍵變量可以記錄在數據庫、內存、寄存器等存儲區(qū)域中,本發(fā)明實施例對此不加以限制。
在具體實現中,用戶按下該第一按鍵,則可以發(fā)起對講操作,而該第一按鍵可以為物理按鍵,也可以為虛擬按鍵,本發(fā)明實施例對此不加以限制。
由于本示例依據第二按鍵發(fā)起對講操作,因此,對講發(fā)起操作標識可以為第二按鍵的按下標識,因此,在本示例中,可以將按鍵變量中的第二按鍵的抬起標識,修改為第二按鍵的按下標識(即表示第二按鍵按下的標識)。
當然,上述按鍵及其標識只是作為示例,在實施本發(fā)明實施例時,可以根據實際觸發(fā)發(fā)起對講操作的方式設置其他標識,本發(fā)明實施例對此不加以限制。
步驟205,依據所述對講發(fā)起操作標識映射對講發(fā)起消息。
在具體實現中,用于處理界面相關操作的窗口管理服務(如PhoneWindowManager)可以預先注冊監(jiān)聽該操作變量的變化。
如果窗口管理服務在操作變量監(jiān)聽到講輔機操作標識,則可以依據對講發(fā)起操作標識生成講發(fā)起消息。
進一步而言,系統(tǒng)服務(如System Server)可以監(jiān)聽該對講發(fā)起操作標的變化,并將相應的變化通過按鍵消息等形式通知每個應用窗口。
在本發(fā)明實施例的一個示例中,可以依據第二按鍵的按下標識映射第一按鍵的按下事件(即表示第一按鍵按下的事件),模擬第一按鍵按下的情形。
步驟206,按照所述對講發(fā)起消息發(fā)起對講操作。
在本發(fā)明實施例中,在其他界面、服務進行相關操作的同時,可以由對講進程發(fā)起對講操作。
步驟207,接收所述對講輔機發(fā)送的釋放話權的命令。
在本發(fā)明實施例中,在對講輔機中可以提供一個按鍵,若用戶按下該按鍵,則對講輔機可以通過該通信鏈路向對講輔機發(fā)送搶話權的命令,如AT+XEVENT=TALK,1。
如果當前用戶講話完畢,抬起該按鍵,則對講輔機可以通過該通信鏈路向對講輔機發(fā)送釋放話權的命令,如AT+XEVENT=TALK,0。
在具體實現中,如果對講輔機中由鏈路進程(如藍牙進程)維護通信鏈路,則可以由該鏈路進程接收對講輔機發(fā)送的釋放話權的命令。
步驟208,識別所述搶話權的命令觸發(fā)的操作。
在本申請實施例中,由于對搶話權的命令(如AT+XEVENT=TALK,1)進行擴展,不僅可以用于申請講話權限,還可以用于發(fā)起對講操作,因此,當接收到釋放話權的命令(如AT+XEVENT=TALK,0)時,可以識別該搶話權的命令的用途,以便進行相應的操作。
鏈路進程在接收到釋放話權的命令(如AT+XEVENT=TALK,0)之后,可以調用通話服務提供的接口將釋放話權的命令發(fā)送至對講進程,由對講進程識別搶話權的命令觸發(fā)的操作。
在本發(fā)明實施例的一個示例中,對講進程可以在數據庫等存儲區(qū)域識別操作變量的值。
當按鍵變量為第二按鍵的按下標識時,確定搶話權的命令觸發(fā)的操作為發(fā)起對講操作。
當按鍵變量為第二按鍵的抬起標識時,確定搶話權的命令觸發(fā)的操作為申請講話權限。
步驟209,當所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作時,依據所述釋放話權的命令清除所述對講發(fā)起操作標識,并依據清除之后的操作變量釋放講話權限。
如果該搶話權的命令(如AT+XEVENT=TALK,1)用于發(fā)起對講操作,則對講進程可以依據該釋放話權的命令(如AT+XEVENT=TALK,0)釋放講話權限,還可以在操作變量中清除對講發(fā)起操作標識,用以恢復初始的值,防止引起誤操作。
在本發(fā)明實施例的一個示例中,對講進程可以將按鍵變量中第二按鍵的按下標識,恢復為第二按鍵的抬起標識,依據第二按鍵的抬起標識釋放講話權限。
需要說明的是,由于釋放話權的命令指示的操作(即釋放話權)可以由對講進程執(zhí)行,與其他界面、服務無關,因此,對講進程可以直接釋放話權,而無需映射為對講結束消息(即表示結束對講的消息,如對講主機中第一按鍵的抬起事件)。
步驟210,當基于所述搶話權的命令申請講話權限時,依據所述釋放話權的命令釋放所述講話權限。
如果該搶話權的命令(如AT+XEVENT=TALK,1)用于申請講話權限,則對講進程可以依據該釋放話權的命令(如AT+XEVENT=TALK,0)釋放講話權限。
為使本領域技術人員更好地理解本發(fā)明實施例,以下通過具體的示例來說明本發(fā)明實施例中的對講方法。
如圖3所示,在對講主機中,System Server為系統(tǒng)服務、QChat為對講進程、Telecom Service為通話服務、Bluetooth為鏈路進程。
對講主機中具有第一按鍵、對講輔機中具有第二按鍵。在對講主機開機之后,System Server初始化數據庫,并對該數據庫監(jiān)聽數據變化。
該數據庫中記載有按鍵變量,該按鍵變量記載有第二按鍵的抬起標識。
QChat在應用(即對講應用)啟動之后,Telecom Service綁定QChat,通過Telecom Service面向其他進程提供接口,實現對QChat的訪問。
用戶在對講輔機中按下第二按鍵,向對講主機發(fā)送命令AT+XEVENT=STATE,1。
Bluetooth接收對講輔機發(fā)送的命令AT+XEVENT=STATE,1,并通過Telecom Service提供的接口,將AT+XEVENT=STATE,1發(fā)送至QChat。
QChat識別當前的對講狀態(tài),若無對講,則將第二按鍵變量中第二按鍵的抬起標識修改為按下標識。
System Server監(jiān)聽到數據庫狀態(tài)變化,則可以依據第二按鍵的按下標識映射為第一按鍵的按下事件,以便于該應用的其他界面、服務進行相應的處理。
此外,QChat及各個應用界面響應第一按鍵的按下事件,發(fā)起對講操作。
用戶在對講完成之后,抬起第二按鍵,對講輔機向對講主機發(fā)送命令AT+XEVENT=STATE,0。
Bluetooth接收對講輔機發(fā)送的命令AT+XEVENT=STATE,0,并通過Telecom Service提供的接口,將AT+XEVENT=STATE,0發(fā)送至QChat。
QChat在確定AT+XEVENT=STATE,1觸發(fā)的操作為發(fā)起對講操作之后,將按鍵變量中第二按鍵的按下標識修改為抬起標識,并將按鍵變量中第二按鍵的按下標識修改為抬起標識。
System Server監(jiān)聽到數據庫狀態(tài)變化,此時,表示第二按鍵抬起,但是,并不對該數據庫狀態(tài)變化進行反饋。
此時,QChat響應第二按鍵的抬起,釋放話權。
參照圖4,示出了本發(fā)明的另一種對講的發(fā)起方法實施例的步驟流程圖,應用在對講主機中,對講主機通過通信鏈路連接對講輔機,具體可以包括如下步驟:
步驟401,接收所述對講輔機發(fā)送的搶話權的命令。
步驟402,判斷所述對講主機是否處于對講狀態(tài);若是,則執(zhí)行步驟403,若否,則執(zhí)行步驟404。
步驟403,根據所述搶話權的命令申請講話權限。
步驟404,根據所述搶話權的命令映射對講發(fā)起操作標識。
步驟405,依據所述對講發(fā)起操作標識映射對講發(fā)起消息。
步驟406,按照所述對講發(fā)起消息發(fā)起對講操作。
步驟407,當滿足指定的條件時,清除所述對講發(fā)起操作標識。
在實際應用中,在通過對講輔機輔助對講主機對講的過程中,可能存在一些情況,導致對講主機接收到搶話權的命令(如AT+XEVENT=TALK,1),而沒有接收到釋放話權的命令(如AT+XEVENT=TALK,0),此時基于操作變量中的值(對講發(fā)起操作標識)判定對講主機處于指定按鍵按下狀態(tài)等發(fā)起對講操作的狀態(tài),可能會導致誤操作。
因此,針對這些情況,可以預先設置條件,如果滿足這些條件,則清除操作變量中的對講發(fā)起操作標識,避免發(fā)生誤操作。
在本發(fā)明實施例的一個示例中,對講主機配置有第一按鍵,對講輔機配置有第二按鍵,在對講主機中針對第二按鍵存儲有按鍵變量,按鍵變量初始記載第二按鍵的抬起標識。
則在本示例中,可以將第二按鍵變量中第二按鍵的按下標識,恢復為第二按鍵的抬起標識。
在具體實現中,指定的條件包括如下的一種或多種:
1、對講主機啟動
在本示例中,對講主機接收到搶話權的命令(如AT+XEVENT=TALK,1)之后,在操作變量中寫入對講發(fā)起操作標識,如果對講主機掉電或者重啟等原因處于啟動的狀態(tài),如果窗口管理服務(如PhoneWindowManager)監(jiān)聽到對講發(fā)起操作標識的變化,此時,判定此時處于發(fā)起對講操作的狀態(tài),可能導致操作系統(tǒng)混亂而無法開機。
因此,在開機過程中,窗口管理服務(如PhoneWindowManager)在監(jiān)聽對講發(fā)起操作標識之前,將對講發(fā)起操作標識恢復為初始狀態(tài)。
2、對講主機與對講輔機通過通信鏈路連接
在本示例中,對講主機接收到搶話權的命令(如AT+XEVENT=TALK,1)之后,寫入對講發(fā)起操作標識,如果通信鏈路斷開,之后重新連接,此時,對講進程將對講發(fā)起操作標識恢復為初始狀態(tài)。
需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據本發(fā)明實施例,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。
參照圖5,示出了本發(fā)明的一種對講的發(fā)起裝置實施例的結構框圖,應用在對講主機中,所述對講主機通過通信鏈路連接對講輔機,所述裝置具體可以包括如下模塊:
搶話權命令接收模塊501,用于接收所述對講輔機發(fā)送的搶話權的命令;
對講狀態(tài)判斷模塊502,用于判斷所述對講主機是否處于對講狀態(tài);若是,則調用講話權限申請模塊503,若否,則調用對講發(fā)起消息生成模塊504;
講話權限申請模塊503,用于根據所述搶話權的命令申請講話權限;
對講發(fā)起消息生成模塊504,根據所述搶話權的命令生成對講發(fā)起消息;
對講操作發(fā)起模塊505,用于按照所述對講發(fā)起消息發(fā)起對講操作。
在本發(fā)明的一個實施例中,所述對講發(fā)起消息生成模塊503包括:
對講發(fā)起操作標識映射子模塊,用于根據所述搶話權的命令映射發(fā)起操作標識;
對講發(fā)起消息映射子模塊,用于依據所述對講發(fā)起操作標識映射對講發(fā)起消息。
在本發(fā)明實施例的一個示例中,所述對講主機配置有第一按鍵,所述對講輔機配置有第二按鍵,在所述對講主機中針對所述第二按鍵存儲有按鍵變量,所述按鍵變量初始記載所述第二按鍵的抬起標識;
所述對講發(fā)起操作標識映射子模塊包括:
第一變量修改單元,用于將所述按鍵變量中的所述第二按鍵的抬起標識,修改為所述第二按鍵的按下標識。
所述對講發(fā)起消息映射子模塊包括:
按鍵事件修改單元,用于依據所述第二按鍵的按下標識映射所述第一按鍵的按下事件。
在本發(fā)明的一個實施例中,還包括如下模塊:
釋放話權命令接收模塊,用于接收所述對講輔機發(fā)送的釋放話權的命令;
觸發(fā)操作識別模塊,用于識別所述搶話權的命令觸發(fā)的操作;
第一釋放話權模塊,用于在所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作時,依據所述釋放話權的命令清除所述對講發(fā)起操作標識,并依據清除之后的操作變量釋放講話權限;
第二釋放話權模塊,用于在所述搶話權的命令觸發(fā)的操作為申請講話權限時,依據所述釋放話權的命令釋放所述講話權限。
在本發(fā)明的一個實施例中,所述觸發(fā)操作識別模塊包括:
操作變量值識別子模塊,用于識別所述操作變量的值;
第一確定子模塊,用于在所述按鍵變量為所述第二按鍵的按下標識時,確定所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作;
第二確定子模塊,用于在所述按鍵變量為所述第二按鍵的抬起標識時,確定所述搶話權的命令觸發(fā)的操作為申請講話權限。
在本發(fā)明的一個實施例中,所述第一釋放話權模塊包括:
第一變量恢復子模塊,用于將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識;
權限釋放子模塊,用于依據所述第二按鍵的抬起標識釋放講話權限。
在本發(fā)明的一個實施例中,還包括如下模塊:
操作標識清除模塊,用于在滿足指定的條件時,清除所述對講發(fā)起操作標識;
其中,所述指定的條件包括如下的一種或多種:
所述對講主機啟動、所述對講主機與所述對講輔機通過通信鏈路連接。
在本發(fā)明的一個實施例中,所述操作標識清除模塊包括:
第二變量恢復子模塊,用于將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識。
對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
本領域內的技術人員應明白,本發(fā)明實施例的實施例可提供為方法、裝置、或計算機程序產品。因此,本發(fā)明實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明實施例可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本發(fā)明實施例是參照根據本發(fā)明實施例的方法、終端設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理終端設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理終端設備的處理器執(zhí)行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理終端設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理終端設備上,使得在計算機或其他可編程終端設備上執(zhí)行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程終端設備上執(zhí)行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明實施例的優(yōu)選實施例,但本領域內的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明實施例范圍的所有變更和修改。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種對講的發(fā)起方法和一種對講的發(fā)起裝置,進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。
本發(fā)明實施例公開了A1、一種對講的發(fā)起方法,應用在對講主機中,所述對講主機通過通信鏈路連接對講輔機,所述方法包括:
接收所述對講輔機發(fā)送的搶話權的命令;
判斷所述對講主機是否處于對講狀態(tài);
若是,則根據所述搶話權的命令申請講話權限;
若否,則根據所述搶話權的命令生成對講發(fā)起消息;
按照所述對講發(fā)起消息發(fā)起對講操作。
A2、根據A1所述的方法,所述根據所述搶話權的命令生成對講發(fā)起消息的步驟包括:
根據所述搶話權的命令映射對講發(fā)起操作標識;
依據所述對講發(fā)起操作標識映射對講發(fā)起消息。
A3、根據A2所述的方法,所述對講主機配置有第一按鍵,所述對講輔機配置有第二按鍵,在所述對講主機中針對所述第二按鍵存儲有按鍵變量,所述按鍵變量初始記載所述第二按鍵的抬起標識;
所述根據所述搶話權的命令映射對講發(fā)起操作標識的步驟包括:
將所述按鍵變量中的所述第二按鍵的抬起標識,修改為所述第二按鍵的按下標識;
所述依據所述對講發(fā)起操作標識映射對講發(fā)起消息的步驟包括:
依據所述第二按鍵的按下標識映射所述第一按鍵的按下事件。
A4、根據A2或A3所述的方法,還包括:
接收所述發(fā)送的釋放話權的命令;
識別所述搶話權的命令觸發(fā)的操作;
當所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作時,依據所述釋放話權的命令清除所述對講發(fā)起操作標識,并依據清除之后的操作變量釋放講話權限;
當所述搶話權的命令觸發(fā)的操作為申請講話權限時,依據所述釋放話權的命令釋放所述講話權限。
A5、根據A4所述的方法,所述識別所述搶話權的命令觸發(fā)的操作的步驟包括:
識別所述操作變量的值;
當所述按鍵變量為所述第二按鍵的按下標識時,確定所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作;
當所述按鍵變量為所述第二按鍵的抬起標識時,確定所述搶話權的命令觸發(fā)的操作為申請講話權限。
A6、根據A4所述的方法,所述依據所述釋放話權的命令清除所述對講發(fā)起操作標識,并依據清除之后的操作變量釋放講話權限的步驟包括:
將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識;
依據所述第二按鍵的抬起標識釋放講話權限。
A7、根據A2或A3所述的方法,還包括:
當滿足指定的條件時,清除所述對講發(fā)起操作標識;
其中,所述指定的條件包括如下的一種或多種:
所述對講主機啟動、所述對講主機與所述對講輔機通過通信鏈路連接。
A8、根據A7所述的方法,所述清除所述對講發(fā)起操作標識的步驟包括:
將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識。
本發(fā)明實施例還公開了B9、一種對講的發(fā)起裝置,應用在對講主機中,所述對講主機通過通信鏈路連接對講輔機,所述裝置包括:
搶話權命令接收模塊,用于接收所述對講輔機發(fā)送的搶話權的命令;
對講狀態(tài)判斷模塊,用于判斷所述對講主機是否處于對講狀態(tài);若是,則調用講話權限申請模塊,若否,則調用對講發(fā)起消息生成模塊;
講話權限申請模塊,用于根據所述搶話權的命令申請講話權限;
對講發(fā)起消息生成模塊,用于根據所述搶話權的命令模擬對講發(fā)起消息;
對講操作發(fā)起模塊,用于按照所述對講發(fā)起消息發(fā)起對講操作。
B10、根據B9所述的裝置,所述對講發(fā)起消息生成模塊包括:
對講發(fā)起操作標識映射子模塊,用于根據所述搶話權的命令映射發(fā)起操作標識;
對講發(fā)起消息映射子模塊,用于依據所述對講發(fā)起操作標識映射對講發(fā)起消息。
B11、根據B10所述的裝置,所述對講主機配置有第一按鍵,所述對講輔機配置有第二按鍵,在所述對講主機中針對所述第二按鍵存儲有按鍵變量,所述按鍵變量初始記載所述第二按鍵的抬起標識;
所述對講發(fā)起操作標識映射子模塊包括:
第一變量修改單元,用于將所述按鍵變量中的所述第二按鍵的抬起標識,修改為所述第二按鍵的按下標識;
所述對講發(fā)起消息映射子模塊包括:
按鍵事件修改單元,用于依據所述第二按鍵的按下標識映射所述第一按鍵的按下事件。
B12、根據B10或B11所述的裝置,還包括:
釋放話權命令接收模塊,用于接收所述對講輔機發(fā)送的釋放話權的命令;
觸發(fā)操作識別模塊,用于識別所述搶話權的命令觸發(fā)的操作;
第一釋放話權模塊,用于在所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作時,依據所述釋放話權的命令清除所述對講發(fā)起操作標識,并依據清除之后的操作變量釋放講話權限;
第二釋放話權模塊,用于在所述搶話權的命令觸發(fā)的操作為申請講話權限時,依據所述釋放話權的命令釋放所述講話權限。
B13、根據B12所述的裝置,所述觸發(fā)操作識別模塊包括:
操作變量值識別子模塊,用于識別所述操作變量的值;
第一確定子模塊,用于在所述按鍵變量為所述第二按鍵的按下標識時,確定所述搶話權的命令觸發(fā)的操作為發(fā)起對講操作;
第二確定子模塊,用于在所述按鍵變量為所述第二按鍵的抬起標識時,確定所述搶話權的命令觸發(fā)的操作為申請講話權限。
B14、根據B12所述的裝置,所述第一釋放話權模塊包括:
第一變量恢復子模塊,用于將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識;
權限釋放子模塊,用于依據所述第二按鍵的抬起標識釋放講話權限。
B15、根據B10或B11所述的裝置,還包括:
操作標識清除模塊,用于在滿足指定的條件時,清除所述對講發(fā)起操作標識;
其中,所述指定的條件包括如下的一種或多種:
所述對講主機啟動、所述對講主機與所述對講輔機通過通信鏈路連接。
B16、根據B15所述的裝置,所述操作標識清除模塊包括:
第二變量恢復子模塊,用于將所述按鍵變量中所述第二按鍵的按下標識,恢復為所述第二按鍵的抬起標識。