專利名稱:一種動態(tài)應用的音頻資源并發(fā)的調度方法及裝置的制作方法
技術領域:
本發(fā)明涉及移動通信技術領域,尤其涉及一種動態(tài)應用的音頻資源并發(fā) 的調度方法及裝置。
背景技術:
隨著移動通信技術的迅猛發(fā)展,對移動終端的要求也越來越高。其中, 在移動終端(手機)中使用音頻資源的應用增多必然會引起音頻資源使用分 配問題。
傳統(tǒng)的手機設計中對于音頻資源的使用區(qū)分了輸入設備類型和輸出設備 類型,對于動態(tài)應用的注冊申請使用音頻資源和注銷退出運行的情況沒有進
行全面的考慮,往往應用都是靜態(tài)編譯好之后,作為一個整體進行運行;同 時, 一些高端的手機雖然支持動態(tài)應用的加載和卸載,但還是采用靜態(tài)優(yōu)先 級的處理方案,動態(tài)應用在系統(tǒng)中的優(yōu)先級是固定的,同時在動態(tài)應用加載 和退出系統(tǒng)時沒有完善和優(yōu)化的調度處理方案;因此,現有技術中的音頻資 源的調用并沒有考慮到系統(tǒng)中真正意義上的動態(tài)應用,也無法從整體上考慮 到系統(tǒng)中全部動態(tài)應用在并發(fā)使用音頻資源時的處理情況,同時也沒有提出 在動態(tài)應用^&退出時的音頻資源再^f吏用情況,大大的降低了系統(tǒng)調度音頻資 源時的系統(tǒng)性能。
發(fā)明內容
有鑒于此,本發(fā)明解決的問題是4是供一種動態(tài)應用的音頻資源并發(fā)的調 度方法及裝置,
為解決上述問題,本發(fā)明提供的技術方案如下 一種動態(tài)應用的音頻資源并發(fā)的調度方法,該方法包括動態(tài)應用申請注冊使用音頻資源;
判斷所述動態(tài)應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)
先級;如果是,則分配所述動態(tài)應用使用當前音頻資源,同時將所述當前應 用加入到就緒隊列中;否則將所述動態(tài)應用加入到就緒隊列中。
相應的,所述動態(tài)應用包括^T入應用或^r出應用。
相應的,所述動態(tài)應用包括輸入應用或輸出應用。
相應的,所述使用音頻資源的申請注冊信息至少包括動態(tài)應用的應用標 識、音頻設備類型和優(yōu)先級別。
相應的,所述方法進一步包括
當前應用被退出后,釋放音頻資源,然后選擇優(yōu)先級最高的就緒隊列中 的應用為新的當前應用。
相應的,所述優(yōu)先級為用戶預先設定或系統(tǒng)定義的。
一種動態(tài)應用的音頻資源并發(fā)的調度裝置,該裝置包括判斷模塊和分 配模塊;
所述判斷模塊用來當動態(tài)應用申請注冊使用音頻資源時,判斷所述動態(tài) 應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)先級,并將結果發(fā) 送分配模塊;
所述分配模塊接收判斷模塊發(fā)送的判斷結果,當所述動態(tài)應用的優(yōu)先級 高于當前應用的優(yōu)先級時,分配所述動態(tài)應用^f吏用當前音頻資源,同時將所 述當前應用加入到就緒隊列中;否則,將所述動態(tài)應用加入到就緒隊列中。
相應的,該裝置還包括選擇^t塊;
所述選擇模塊用來當當前應用被退出后,釋放音頻資源,然后選擇優(yōu)先 級最高的就緒隊列中的應用為新的當前應用??梢钥闯觯捎帽景l(fā)明的方法和裝置,通過根據申請使用音頻資源的應 用的優(yōu)先級別的高低來確定當前使用當前音頻資源的當前應用,可以使系統(tǒng) 應用在設計方面具有比較高的靈活性和擴展性,極大地提高了系統(tǒng)在動態(tài)應 用的音頻并發(fā)方面的調度處理性能。
圖1是本發(fā)明實施例方法的流程示意圖2是本發(fā)明實施例1中動態(tài)應用申請使用音頻資源時的調度處理流程
圖3是本發(fā)明實施例2中選擇繼續(xù)使用音頻資源的示意圖。
具體實施例方式
本發(fā)明的基本思想在于根據申請使用音頻資源的應用的優(yōu)先級別的高低 確定當前使用當前音頻資源的當前應用。
為了使本領域技術人員更好的理解本發(fā)明,下面結合附圖和具體實施例 對本發(fā)明的方法進行詳細說明。
實施例1,本發(fā)明提供一種動態(tài)應用的音頻資源并發(fā)的調度方法,如圖1 所示,該方法包4舌
步驟101:動態(tài)應用申請注冊使用音頻資源;
步驟102:判斷所述動態(tài)應用的優(yōu)先級是否高于當前使用音頻資源的當前 應用的優(yōu)先級;
步驟103:當所述動態(tài)應用的優(yōu)先級高于所述當前應用的優(yōu)先級時,分配 所述動態(tài)應用使用當前音頻資源,同時將所述當前應用加入到就緒隊列中; 步驟104:當所述動態(tài)應用的優(yōu)先級不高于所述當前應用的優(yōu)先級時,將所述動態(tài)應用加入到就緒隊列中。
要有麥克風、帶有麥克風的耳機等,輸出的設備有聽筒、揚聲器和耳機等。 而對于一個動態(tài)應用來說,可以選擇使用輸入和輸出的音頻設備,也可以選 擇使用輸入的音頻設備或者只選擇使用輸出的音頻設備,但是不能在輸入設 備中同時選擇使用兩種或兩種以上設備,也不能在輸出設備中同時選擇兩種 或者三種以上設備;當然,系統(tǒng)會維持當前可用的音頻資源的狀態(tài)信息,動 態(tài)應用設計時根據應用的具體特點選擇所使用的音頻資源。
對于動態(tài)應用來講,系統(tǒng)中的動態(tài)應用可以申請注冊使用音頻資源。如 圖2所示,當有新的動態(tài)應用A申請注冊使用音頻資源時,這時候需要比較 動態(tài)應用A的優(yōu)先級別與當前使用音頻資源的當前應用B的優(yōu)先級別,如果 所述動態(tài)應用A的優(yōu)先級別高于當前應用B的優(yōu)先級別時,以所述動態(tài)應用 A取代當前應用B而成為新的當前應用,同時將所述當前應用B加入到就緒 隊列中;如果所述動態(tài)應用A的優(yōu)先級別不高于當前應用B的優(yōu)先級別,則 直接將所述動態(tài)應用A加入就緒隊列;圖中應用A代表新的注冊使用音頻資 源的應用,應用B代表當前使用音頻資源的應用;
其中,上述當前應用和就緒隊列是#4居輸入類和輸出類來劃分的當前 使用音頻資源的動態(tài)應用為當前應用、等待使用音頻資源的動態(tài)應用隊列為 就緒隊列;在動態(tài)應用申請使用音頻資源后,根據申請使用的音頻資源情況 形成兩類,即輸入類和輸出類,輸入類和輸出類都包含有很多優(yōu)先級,每個 優(yōu)先級都包含一個隊列。相關的數據結果說明如下
struct app—audio—list—head
{ 一 ——
struct app—audio—list—head *next, *prev;
}; 一
struct app—audio—queueUINT32 app—id;
struct app—audio—list—head list;
typedef struct —APP—AUDIO—READY—
{ —— — 一
UINT32 bitmap[BITMAP—SIZE];
struct app—audio—queue ready[MAX—PRIO];
} app一audio—in一queue, app—audio—out—queue;
其中app—audio—list—head是一個雙向《連表;app—audio—queue是基于應用 ID(app一id)形成的只又向鏈表;app—audio—in—queue和app—audio—out—queue是才艮 據優(yōu)先級形成的輸入類和輸出類的結構體,其中優(yōu)先級屬性通過其成員bitmap 凄史纟且和纟吉4勾體app—audio—queue體J見;才尤緒卩人歹'J用 app—audio—in—queue和 app—audio—out—queue來表示。
此外,動態(tài)應用在申請使用音頻資源時需要向系統(tǒng)提供的注冊信息至少 包括應用標識(app—id)、該動態(tài)應用使用的音頻設備類型(app_audio_type ) 以及該動態(tài)應用本身對應的優(yōu)先級別;其中,音頻設備的類型主要包括三種 只用到音頻輸入設備、只用到音頻輸出設備和既用到音頻輸入設備也用到音 頻輸出設備,具體的數據結構如下所述
struct app—audio—register
{ ——
UINT32 app—id; CHARapp—audio—type; UINT32 app—audio—in_prio; UINT32 app—audio—out_prio;
}; ——
所述動態(tài)應用提供了上述的基本信息后,即可完成申請注冊使用音頻資源。
除此之外,在上述實施例i的音頻資源^f吏用中,當當前應用^c系統(tǒng)強制 退出或者被用戶強制退出時,需要釋放對音頻資源的使用權,這樣,需要在就緒隊列中選擇一個優(yōu)先級別高的動態(tài)應用繼續(xù)使用音頻資源;
具體的實施例2如圖3所示,可以通過如下方法選擇繼續(xù)-使用音頻資源 的應用
系統(tǒng)在結構體的定義MAX—PRIO中定義了系統(tǒng)擁有的優(yōu)先級個數,通常 默認值是80個;這樣每個優(yōu)先級都有一個struct app—audio—queue的結構體; BITMAP—SIZE是優(yōu)先級位圖數組的大小,類型為UINT32(unsigned long)長整 型,長32位,如果每一位代表一個優(yōu)先級的話,那么80個優(yōu)先級需要3個 長整型數才能表示,所以bitmap就正好有3個數組項,總共96位。 一開始, 所有的位都被置為O,當從就緒隊列中選一個去執(zhí)行時,顯然選擇優(yōu)先級最高 的隊列。查找系統(tǒng)中最高的優(yōu)先級就變成了查找位圖中凈皮設置的第一位,每 個優(yōu)先級對應一個就緒隊列。這樣無i^系統(tǒng)進行輸入類和輸出類的應用的調 度都會非??旖?。
此外,本領域技術人員很容易理解本發(fā)明實施例中各應用的優(yōu)先級可以 由用戶預設或由系統(tǒng)預定義的,在次不再贅述。
可以看出,采用本發(fā)明的方法,根據申請使用音頻資源的應用的優(yōu)先級 別的高低確定當前使用當前音頻資源的當前應用,由于申請注冊使用和退出 使用都是動態(tài)變化的,所以具有比較高的靈活性和擴展性,極大地提高了系 統(tǒng)在動態(tài)應用的音頻并發(fā)方面的調度處理性能。
領i或晉通4支術人貝可》 是可以通過程序指令相關的硬件來完成,且所述的程序存儲于特定存儲介質中。
基于上述思想,本發(fā)明還提供一種動態(tài)應用的音頻資源并發(fā)的調度裝置,
該裝置包括判斷模塊和分配模塊;
所述判斷模塊用來當動態(tài)應用申請注冊使用音頻資源時,判斷所述動態(tài) 應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)先級,并將結果發(fā)送分配模塊;
所述分配模塊接收判斷模塊發(fā)送的判斷結果,當所述動態(tài)應用的優(yōu)先級 高于當前應用的優(yōu)先級時,分配所述動態(tài)應用使用當前音頻資源,同時將所 述當前應用加入到就緒隊列中;否則,將所述動態(tài)應用加入到就緒隊列中。
此外,該裝置還包括選擇模塊;
所述選擇模塊用來當當前應用被退出后,釋放音頻資源,然后選擇優(yōu)先 級最高的就緒隊列中的應用為新的當前應用。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在 本發(fā)明的保護范圍之內。
權利要求
1、一種動態(tài)應用的音頻資源并發(fā)的調度方法,其特征在于,該方法包括動態(tài)應用申請注冊使用音頻資源;判斷所述動態(tài)應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)先級;如果是,則分配所述動態(tài)應用使用當前音頻資源,同時將所述當前應用加入到就緒隊列中;否則將所述動態(tài)應用加入到就緒隊列中。
2、 根據權利要求1所述的方法,其特征在于 所述動態(tài)應用包括輸入應用或tr出應用。
3、 根據權利要求1所述的方法,其特征在于 所述動態(tài)應用包括輸入應用或輸出應用。
4、 根據權利要求1至3任意一項所述的方法,其特征在于所述使用音頻資源的申請注冊信息至少包括動態(tài)應用的應用標識、音頻 設備類型和優(yōu)先級別。
5、 根據權利要求4所述的方法,其特征在于,所述方法進一步包括當前應用被退出后,釋放音頻資源,然后選擇優(yōu)先級最高的就緒隊列中 的應用為新的當前應用。
6、 根據權利要求5所述的方法,其特征在于 所述優(yōu)先級為用戶預先設定或系統(tǒng)定義的。
7、 一種動態(tài)應用的音頻資源并發(fā)的調度裝置,其特征在于,該裝置包括-. 判斷模塊和分配模塊;所述判斷模塊用來當動態(tài)應用申請注冊使用音頻資源時,判斷所述動態(tài) 應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)先級,并將結果發(fā) 送分配模塊;所述分配模塊接收判斷模塊發(fā)送的判斷結果,當所述動態(tài)應用的優(yōu)先級 高于當前應用的優(yōu)先級時,分配所述動態(tài)應用使用當前音頻資源,同時將所述當前應用加入到就緒隊列中;否則,將所述動態(tài)應用加入到就緒隊列中。
8、根據權利要求7所述的裝置,其特征在于,該裝置還包括選擇模塊; 所述選擇模塊用來當當前應用被退出后,釋放音頻資源,然后選擇優(yōu)先 級最高的就緒隊列中的應用為新的當前應用。
全文摘要
本發(fā)明提供一種動態(tài)應用的音頻資源并發(fā)的調度方法,該方法包括動態(tài)應用申請注冊使用音頻資源;判斷所述動態(tài)應用的優(yōu)先級是否高于當前使用音頻資源的當前應用的優(yōu)先級;如果是,則分配所述動態(tài)應用使用當前音頻資源,同時將所述當前應用加入到就緒隊列中;否則將所述動態(tài)應用加入到就緒隊列中。本發(fā)明還提供一種動態(tài)應用的音頻資源并發(fā)的調度裝置。采用本發(fā)明的方法和裝置,通過根據申請使用音頻資源的應用的優(yōu)先級別的高低來確定當前使用當前音頻資源的當前應用,可以使系統(tǒng)應用在設計方面具有比較高的靈活性和擴展性,極大地提高了系統(tǒng)在動態(tài)應用的音頻并發(fā)方面的調度處理性能。
文檔編號G06F9/44GK101442582SQ20071017782
公開日2009年5月27日 申請日期2007年11月21日 優(yōu)先權日2007年11月21日
發(fā)明者劉雄文 申請人:大唐移動通信設備有限公司;上海大唐移動通信設備有限公司