專利名稱::一種移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及移動終端上多媒體引擎對多媒體應(yīng)用進行并發(fā)控制的實現(xiàn)方法。
背景技術(shù):
:隨著第三代移動通信技術(shù)的快速發(fā)展,移動終端上多々某體的應(yīng)用越來越強大,所支持的種類也越來越多,如音視頻播放、可視電話、流媒體等多媒體應(yīng)用。移動終端上需要處理多媒體應(yīng)用的播放/停止、多個多媒體應(yīng)用之間的切換播放的并發(fā)控制。由于多々某體應(yīng)用種類繁多,多媒體引擎在處理各個應(yīng)用的播放請求時,需要考慮到各個應(yīng)用之間的播放優(yōu)先順序以及播放的優(yōu)先級別,且在多個請求同時到達時需要處理這些應(yīng)用之間的并發(fā)。同時,為了保證通話功能不受到干擾,需要屏蔽部分多媒體應(yīng)用的播放,而在通話過程中,需要向用戶提示來電、短信、通話時長等信息,又需要播放多媒體音樂。通話結(jié)束后,需要恢復(fù)由于通話而打斷的多媒體播放。上述功能都涉及到使用多媒體引擎的時候的并發(fā)問題。目前還沒有一個通行的方法處理各個應(yīng)用之間的并發(fā),實踐中,主要還是針對各個應(yīng)用的需求分別制定相應(yīng)的并發(fā)規(guī)則。這種規(guī)則的缺點就是隨著應(yīng)用的增加,需要對相應(yīng)代碼做較大調(diào)整,靈活度不夠。
發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,對多種多媒體應(yīng)用的并發(fā)進行靈活控制。為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的一種移動終端上多媒體31擎并發(fā)控制的實現(xiàn)方法,包括以下步驟(1)配置并發(fā)控制規(guī)則表,其中包含移動終端中通過多媒體引擎播放的各個應(yīng)用的并發(fā)控制參數(shù);同時,建立應(yīng)用請求隊列,用于存放各個請求播放的應(yīng)用的播放狀態(tài);(2)根據(jù)所述并發(fā)控制規(guī)則表及應(yīng)用請求隊列對各個應(yīng)用的并發(fā)進行控制。其中,所述步驟(2)進一步包括在有應(yīng)用發(fā)送播放請求時多媒體S1擎對應(yīng)用進行處理的步驟、在當(dāng)前應(yīng)用播放結(jié)束/停止時多媒體51擎對應(yīng)用進行處理的步驟、在移動終端來電時以及在移動終端通話結(jié)束時多媒體g1擎對應(yīng)用進行處理的步驟。其中,所述步驟(l)中各個應(yīng)用的并發(fā)控制參數(shù)包括播放優(yōu)先級、來電能否打斷標(biāo)識、通話中是否播放標(biāo)識、同級能否打斷標(biāo)識、被打斷后的處理方式、是否主動恢復(fù)標(biāo)識。其中,所述步驟(2)中,在有應(yīng)用發(fā)送播放請求時的處理方法進一步包括a、從所述并發(fā)控制規(guī)則表中獲取所述發(fā)送播放請求的應(yīng)用的各項并發(fā)控制參數(shù);b、檢查移動終端的當(dāng)前狀態(tài),若為通話狀態(tài),同時所述發(fā)送播放請求的應(yīng)用被配置為在通話中不能播放,則轉(zhuǎn)入步驟f;否則,進入步驟c;C、遍歷應(yīng)用請求隊列,檢查其中是否有應(yīng)用處于播;改狀態(tài),若沒有,則播放所述請求播放的應(yīng)用,將其加入應(yīng)用請求隊列中并設(shè)置其為才番;改狀態(tài),之后結(jié)束該流程;否則,進入步驟d;d、比較當(dāng)前處于播放狀態(tài)的應(yīng)用與所述請求播放的應(yīng)用的優(yōu)先級,若當(dāng)前處于播放狀態(tài)的應(yīng)用的優(yōu)先級高于所述請求播放的應(yīng)用的優(yōu)先級,或者兩者的優(yōu)先級相等且所述當(dāng)前處于播;故狀態(tài)的應(yīng)用被配置為不能被同級應(yīng)用打斷,則轉(zhuǎn)入步驟f;否則轉(zhuǎn)入步驟e;e、請求成功,釆用預(yù)先配置的被打斷后的處理方式對所述當(dāng)前處于播放狀態(tài)的應(yīng)用進行停止/暫停處理,同時播放所述請求播放的應(yīng)用,之后結(jié)束該流程;f、請求失敗,返回失敗消息,之后結(jié)束該流程。其中,所述步驟e還包括若對所述當(dāng)前處于播放狀態(tài)的應(yīng)用采用停止方式處理,則將該應(yīng)用從應(yīng)用請求列表中刪除,若采用暫停方式處理,則將該應(yīng)用的狀態(tài)設(shè)置為掛起狀態(tài),同時將所述請求播放的應(yīng)用加入應(yīng)用請求隊列中,并設(shè)置其狀態(tài)為播放狀態(tài)。其中,所述步驟(2)中,在移動終端來電時的處理方法進一步包括A、檢查應(yīng)用請求隊列中是否有當(dāng)前處于播-放狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;B、根據(jù)所述并發(fā)控制規(guī)則表判斷所述當(dāng)前處于播放狀態(tài)的應(yīng)用在移動終端來電時能否被打斷,若不能,則不作任何處理并退出,否則繼續(xù)下一步;C、根據(jù)所述并發(fā)控制規(guī)則表中對所述當(dāng)前處于播放狀態(tài)的應(yīng)用配置的被打斷后的處理方式,對該應(yīng)用進行停止/暫停處理;若是暫停處理,則在應(yīng)用請求列表中設(shè)置該應(yīng)用為掛起狀態(tài),若是停止處理,則將該應(yīng)用從應(yīng)用請求列表中刪除;D、設(shè)置當(dāng)前移動終端的狀態(tài)為通話狀態(tài)。其中,所述步驟(2)中,在移動終端通話結(jié)束時的處理方法進一步包括①檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;②從所述并發(fā)控制規(guī)則表中獲取所述各個處于掛起狀態(tài)的應(yīng)用的播放優(yōu)先級,選擇其中優(yōu)先級最高的應(yīng)用;③恢復(fù)所述優(yōu)先級最高的應(yīng)用的播放,并在應(yīng)用請求列表中設(shè)置該應(yīng)用為播放狀態(tài);④設(shè)置移動終端的當(dāng)前狀態(tài)為待機狀態(tài)。其中,所述步驟(2)中,在當(dāng)前應(yīng)用l番;改結(jié)束/停止時的處理方法進一步包括i、檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;ii、播放優(yōu)先級,選擇其中優(yōu)先級最高的應(yīng)用;iii、若移動終端的當(dāng)前狀態(tài)為通話狀態(tài),則根據(jù)并發(fā)控制規(guī)則表判斷所述優(yōu)先級最高的應(yīng)用在移動終端通話中是否能夠播放,若不能,則不作任何處理并退出,否則繼續(xù)下一步;iv、恢復(fù)所述優(yōu)先級最高的應(yīng)用的播放,同時在應(yīng)用請求隊列中設(shè)置該應(yīng)用為播放狀態(tài)。本發(fā)明具有以下有益效果本發(fā)明中,多媒體引擎可根據(jù)預(yù)先配置的并發(fā)控制規(guī)則表來對各個多媒體應(yīng)用的并發(fā)進行控制,在增加多媒體應(yīng)用的種類時,只需在并發(fā)控制規(guī)則表中添加新增應(yīng)用的各項并發(fā)控制參數(shù),不需對代碼做較大調(diào)整,實現(xiàn)方法簡單靈活。圖l是本發(fā)明中有應(yīng)用請求播放時多媒體引擎的處理方法流程圖;圖2是本發(fā)明中應(yīng)用播^c結(jié)束時多々某體引擎的處理方法流程圖;圖3是本發(fā)明中移動終端來電時多々某體引擎的處理方法流程圖;圖4是本發(fā)明移動終端通話結(jié)束時多^某體引擎的處理方法流程圖。具體實施例方式本發(fā)明的核心思想為首先,配置并發(fā)控制規(guī)則表,其中包含移動終端中通過多媒體引擎播放的各個應(yīng)用的并發(fā)控制參數(shù);同時,建立應(yīng)用請求隊列,用于存放各個請求播放的應(yīng)用的播放狀態(tài);然后,根據(jù)所述并發(fā)控制規(guī)則表對各個應(yīng)用的并發(fā)進行控制,該步驟具體包括在有應(yīng)用發(fā)送播放請求時多媒體引擎對應(yīng)用進行處理的步驟、在當(dāng)前應(yīng)用播放結(jié)束/停止時多媒體3)擎對應(yīng)用進行處理的步驟、處理的步驟。下面將結(jié)合附圖及具體實施例對本發(fā)明作進一步詳細(xì)的描述請參閱下表l,該表為本實施例中的并發(fā)控制規(guī)則表,其中定義了以下參數(shù)應(yīng)用的播放優(yōu)先級(優(yōu)先級從0開始,數(shù)字依次增加,優(yōu)先級級別依次降低)、來電能否打斷、通話中能否播;故、同級能否打斷、被打斷后的處理方式、是否主動恢復(fù)播放等并發(fā)規(guī)則參數(shù)。該表可以根據(jù)終端實際情況增加相應(yīng)的配置內(nèi)容。其中,業(yè)務(wù)類別表示一種應(yīng)用的一種任務(wù);播放優(yōu)先級表示使用多媒體引擎的優(yōu)先級別;來電能否打斷表示在播放過程中,如果有來電,該播放是否被暫?;蛲V?;通話中是否播放表示在通話過程中,該應(yīng)用能否插-;改;同級能否打斷表示能否被相同優(yōu)先級的其他應(yīng)用打斷;被打斷后的處理方式表示被一個應(yīng)用打斷后,本應(yīng)用是停止還是暫停;是否主動恢復(fù)被打斷的播放,是由多媒體引擎在允許的情況恢復(fù)播放還是通知應(yīng)用,由應(yīng)用來恢復(fù)播放。表1<table>complextableseeoriginaldocumentpage11</column></row><table><table>complextableseeoriginaldocumentpage12</column></row><table>請參閱圖1,在有應(yīng)用請求播放時多媒體引擎的處理方法包括以下步驟101、從并發(fā)控制規(guī)則表中獲取發(fā)送播放請求的應(yīng)用的各項并發(fā)控制參數(shù)。102、判斷移動終端的當(dāng)前狀態(tài),若為通話狀態(tài),則進入步驟103;否則,進入步驟104。103、判斷發(fā)送播放請求的應(yīng)用的"通話中是否播放,,參數(shù)配置,若配置為"是",則進入步驟104,否則播;改請求失敗,結(jié)束該流程。104、遍歷應(yīng)用請求隊列,檢查其中是否有應(yīng)用處于播放狀態(tài),若沒有,則播放所述請求播放的應(yīng)用,將其加入應(yīng)用請求隊列中并設(shè)置其為播放狀態(tài),之后結(jié)束該流程;否則,進入步驟105;105、比較當(dāng)前處于播放狀態(tài)的應(yīng)用與所述請求播;改的應(yīng)用的優(yōu)先級,若前者高于后者,則播放請求失敗,結(jié)束該流程;若前者等于后者,則進入步驟106;若前者低于后者,則進入步驟107;106、獲取當(dāng)前處于播放狀態(tài)的應(yīng)用的"同級能否打斷"參數(shù)配置,若配置為"是",則轉(zhuǎn)入步驟107;否則,播放請求失敗,結(jié)束該流程。107、獲取當(dāng)前處于播放狀態(tài)的應(yīng)用的"被打斷后的處理方式"參數(shù)配置,根據(jù)該配置對該應(yīng)用進行停止/暫停處理。若采用停止方式處理,則將該應(yīng)用從應(yīng)用請求列表中刪除;若采用暫停方式處理,則將該應(yīng)用的狀態(tài)設(shè)置為掛起狀態(tài)。108、播放上述請求播放的應(yīng)用,將該應(yīng)用加入應(yīng)用請求隊列中,并將其狀態(tài)設(shè)置為播放狀態(tài)。請參閱圖2,在應(yīng)用播放結(jié)束時多媒體引擎的處理方法包括以下步驟201、檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;202、先級,選擇其中優(yōu)先級最高的應(yīng)用;203、若移動終端的當(dāng)前狀態(tài)為通話狀態(tài),則從并發(fā)控制規(guī)則表獲取所述優(yōu)先級最高的應(yīng)用的"通話中是否允許播;改"參數(shù)配置,若配置為不允許,則不作任何處理并退出,否則繼續(xù)下一步;204、恢復(fù)所述優(yōu)先級最高的應(yīng)用的播-^:,同時在應(yīng)用請求隊列中設(shè)置該應(yīng)用為播放狀態(tài)。請參閱圖3,在移動終端來電時多媒體引擎的處理方法包括以下步驟301、檢查應(yīng)用請求隊列中是否有當(dāng)前處于播放狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;302、從并發(fā)控制規(guī)則表獲取當(dāng)前處于播放狀態(tài)的應(yīng)用的"來電能否打斷,,參數(shù)配置,若配置為不能,則不作任何處理并退出,否則繼續(xù)下一步;303、根據(jù)所述并發(fā)控制規(guī)則表中對所述當(dāng)前處于播放狀態(tài)的應(yīng)用配置的被打斷后的處理方式,對該應(yīng)用進行停止/暫停處理;若是暫停處理,則在應(yīng)用請求列表中設(shè)置該應(yīng)用為掛起狀態(tài),若是停止處理,則將該應(yīng)用從應(yīng)用請求列表中刪除;304、設(shè)置當(dāng)前移動終端的狀態(tài)為通話狀態(tài)。請參閱圖4,在移動終端通話結(jié)束時多媒體引擎的處理方法包括以下步驟401、檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;402、從所述并發(fā)控制規(guī)則表中獲取所述各個處于掛起狀態(tài)的應(yīng)用的優(yōu)先級,選擇其中優(yōu)先級最高的應(yīng)用;403、恢復(fù)播放所述優(yōu)先級最高的應(yīng)用,并在應(yīng)用請求列表中設(shè)置該應(yīng)用為播放狀態(tài);404、設(shè)置移動終端的當(dāng)前狀態(tài)為待機狀態(tài)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1、一種移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,包括以下步驟(1)配置并發(fā)控制規(guī)則表,其中包含移動終端中通過多媒體引擎播放的各個應(yīng)用的并發(fā)控制參數(shù);同時,建立應(yīng)用請求隊列,用于存放各個請求播放的應(yīng)用的播放狀態(tài);(2)根據(jù)所述并發(fā)控制規(guī)則表及應(yīng)用請求隊列對各個應(yīng)用的并發(fā)進行控制。2、如權(quán)利要求1所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(2)進一步包括在有應(yīng)用發(fā)送播放請求時多媒體引擎對應(yīng)用進行處理的步驟、在當(dāng)前應(yīng)用播放結(jié)束/停止時多媒體《1擎對應(yīng)用進行處理的步驟、在移動終端來電時以及在移動終端通話結(jié)束時多^某體引擎對應(yīng)用進行處理的步驟。3、如權(quán)利要求2所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(l)中各個應(yīng)用的并發(fā)控制參數(shù)包括播放優(yōu)先級、來電能否打斷標(biāo)識、通話中是否播放標(biāo)識、同級能否打斷標(biāo)識、被打斷后的處理方式、是否主動恢復(fù)標(biāo)識。4、如權(quán)利要求3所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(2)中,在有應(yīng)用發(fā)送播放請求時的處理方法進一步包括a、從所述并發(fā)控制規(guī)則表中獲取所述發(fā)送播放請求的應(yīng)用的各項并發(fā)控制參數(shù);b、檢查移動終端的當(dāng)前狀態(tài),若為通話狀態(tài),同時所述發(fā)送播放請求的應(yīng)用被配置為在通話中不能播;故,則轉(zhuǎn)入步驟f;否則,進入步驟c;c、遍歷應(yīng)用請求隊列,檢查其中是否有應(yīng)用處于播放狀態(tài),若沒有,則播放所述請求播放的應(yīng)用,將其加入應(yīng)用請求隊列中并設(shè)置其為播放狀態(tài),之后結(jié)束該流程;否則,進入步驟d;d、比較當(dāng)前處于播;故狀態(tài)的應(yīng)用與所述請求播放的應(yīng)用的優(yōu)先級,若當(dāng)前處于播^L狀態(tài)的應(yīng)用的優(yōu)先級高于所述請求播放的應(yīng)用的優(yōu)先級,或者兩者的優(yōu)先級相等且所述當(dāng)前處于播放狀態(tài)的應(yīng)用被配置為不能被同級應(yīng)用打斷,則轉(zhuǎn)入步驟f;否則轉(zhuǎn)入步驟e;e、請求成功,采用預(yù)先配置的被打斷后的處理方式對所述當(dāng)前處于播放狀態(tài)的應(yīng)用進行停止/暫停處理,同時播放所述請求播放的應(yīng)用,之后結(jié)束該流程;f、請求失敗,返回失敗消息,之后結(jié)束該流程。5、如權(quán)利要求4所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟e還包括若對所述當(dāng)前處于播放狀態(tài)的應(yīng)用采用停止方式處理,則將該應(yīng)用從應(yīng)用請求列表中刪除,若采用暫停方式處理,則將該應(yīng)用的狀態(tài)設(shè)置為掛起狀態(tài),同時將所述請求播放的應(yīng)用加入應(yīng)用請求隊列中,并設(shè)置其狀態(tài)為播放狀態(tài)。6、如權(quán)利要求3所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(2)中,在移動終端來電時的處理方法進一步包括A、檢查應(yīng)用請求隊列中是否有當(dāng)前處于播放狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;B、根據(jù)所述并發(fā)控制規(guī)則表判斷所述當(dāng)前處于播放狀態(tài)的應(yīng)用在移動終端來電時能否被打斷,若不能,則不作任何處理并退出,否則繼續(xù)下一步;C、根據(jù)所述并發(fā)控制規(guī)則表中對所述當(dāng)前處于播放狀態(tài)的應(yīng)用配置的被打斷后的處理方式,對該應(yīng)用進行停止/暫停處理;若是暫停處理,則在應(yīng)用請求列表中設(shè)置該應(yīng)用為掛起狀態(tài),若是停止處理,則將該應(yīng)用從應(yīng)用請求列表中刪除;D、設(shè)置當(dāng)前移動終端的狀態(tài)為通話狀態(tài)。7、如權(quán)利要求3所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(2)中,在移動終端通話結(jié)束時的處理方法進一步包括①檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;②從所述并發(fā)控制規(guī)則表中獲取所述各個處于掛起狀態(tài)的應(yīng)用的播放優(yōu)先級,選擇其中優(yōu)先級最高的應(yīng)用;③恢復(fù)所述優(yōu)先級最高的應(yīng)用的播放,并在應(yīng)用請求列表中設(shè)置該應(yīng)用為播放狀態(tài);④設(shè)置移動終端的當(dāng)前狀態(tài)為待機狀態(tài)。8、如權(quán)利要求3所述的移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,其特征在于,所述步驟(2)中,在當(dāng)前應(yīng)用播放結(jié)束/停止時的處理方法進一步包括i、檢查應(yīng)用請求隊列中是否含有處于掛起狀態(tài)的應(yīng)用,若沒有,則不作任何處理并退出,否則繼續(xù)下一步;ii、從所述并發(fā)控制規(guī)則表中獲取所述各個處于掛起狀態(tài)的應(yīng)用的播放優(yōu)先級,選擇其中優(yōu)先級最高的應(yīng)用;iii、若移動終端的當(dāng)前狀態(tài)為通話狀態(tài),則根據(jù)并發(fā)控制規(guī)則表判斷所述優(yōu)先級最高的應(yīng)用在移動終端通話中是否能夠播放,若不能,則不作任何處理并退出,否則繼續(xù)下一步;iv、恢復(fù)所述優(yōu)先級最高的應(yīng)用的纟番;故,同時在應(yīng)用請求隊列中設(shè)置該應(yīng)用為播;故狀態(tài)。全文摘要本發(fā)明公開了一種移動終端上多媒體引擎并發(fā)控制的實現(xiàn)方法,包括以下步驟(1)配置并發(fā)控制規(guī)則表,其中包含移動終端中通過多媒體引擎播放的各個應(yīng)用的并發(fā)控制參數(shù);同時,建立應(yīng)用請求隊列,用于存放各個請求播放的應(yīng)用的播放狀態(tài);(2)根據(jù)所述并發(fā)控制規(guī)則表及應(yīng)用請求隊列對各個應(yīng)用的并發(fā)進行控制。本發(fā)明中,多媒體引擎可根據(jù)預(yù)先配置的并發(fā)控制規(guī)則表來對各個多媒體應(yīng)用的并發(fā)進行控制,在增加多媒體應(yīng)用的種類時,只需在并發(fā)控制規(guī)則表中添加新增應(yīng)用的各項并發(fā)控制參數(shù),不需對代碼做較大調(diào)整,實現(xiàn)方法簡單靈活。文檔編號G06F9/445GK101345961SQ200810142228公開日2009年1月14日申請日期2008年8月4日優(yōu)先權(quán)日2008年8月4日發(fā)明者明陳申請人:中興通訊股份有限公司