專利名稱:機(jī)頂盒mp3流媒體混音的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機(jī)頂盒領(lǐng)域,尤其涉及一種機(jī)頂盒mp3流媒體混音的方法。
技術(shù)背景
IPTV即交互式網(wǎng)絡(luò)電視,是一種利用寬帶有線電視網(wǎng),集互聯(lián)網(wǎng)、多媒體、通訊等多種技術(shù)于一體;向家庭用戶提供包括數(shù)字電視在內(nèi)的多種交互式服務(wù)的嶄新技術(shù)。用戶在家中可以有兩種方式享受IPTV服務(wù)(1)計算機(jī),(2)網(wǎng)絡(luò)機(jī)頂盒+普通電視機(jī)。它能夠很好地適應(yīng)當(dāng)今網(wǎng)絡(luò)飛速發(fā)展的趨勢,充分有效地利用網(wǎng)絡(luò)資源。隨著IPTV產(chǎn)業(yè)的壯大, 用戶對IPTV網(wǎng)絡(luò)機(jī)頂盒的應(yīng)用要求也越來越高,mp3播放、游戲等成為必需的功能,混音是網(wǎng)頁瀏覽、游戲等功能實(shí)現(xiàn)中不可或缺的部分?;煲羰褂玫谋尘耙魳肺募^大,不能全部下載到機(jī)頂盒中解碼。從網(wǎng)絡(luò)下載數(shù)據(jù)比播放本地文件環(huán)境更復(fù)雜,既要保證播放流暢又要受機(jī)頂盒資源的限制,同時要兼容一般的mp3音樂播放,原來的機(jī)頂盒MP3播放方式顯然不能滿足要求。發(fā)明內(nèi)容
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)中的機(jī)頂盒mp3播放方法存在混音難的技術(shù)問題,提供一種機(jī)頂盒mp3流媒體混音的方法。
本發(fā)明的目的通過下述技術(shù)方案來實(shí)現(xiàn)一種機(jī)頂盒mp3流媒體混音的方法,其包括以下步驟步驟1數(shù)據(jù)下載進(jìn)程建立網(wǎng)絡(luò)連接,發(fā)送http請求并解析http服務(wù)器返回的響應(yīng), 獲取可使用的mp3數(shù)據(jù)緩沖區(qū),mp3數(shù)據(jù)緩沖區(qū)接收數(shù)據(jù)并進(jìn)行填充,mp3數(shù)據(jù)緩沖區(qū)填充滿后,將mp3數(shù)據(jù)緩沖區(qū)的使用權(quán)指派給數(shù)據(jù)解碼進(jìn)程,并申請下一個可使用的mp3數(shù)據(jù)緩沖區(qū);步驟2數(shù)據(jù)解碼進(jìn)程獲取可解碼的mp3數(shù)據(jù)緩沖區(qū),并獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將mp3數(shù)據(jù)解碼到pcm數(shù)據(jù)緩沖區(qū)中;將解碼后的mp3數(shù)據(jù)緩沖區(qū)指派給數(shù)據(jù)下載進(jìn)程,將pcm數(shù)據(jù)緩沖區(qū)指派給pcm注入進(jìn)程,并申請下一個可解碼的mp3數(shù)據(jù)緩沖區(qū);步驟3 pcm注入進(jìn)程獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將pcm數(shù)據(jù)送到音頻播放設(shè)備, 將Pcm數(shù)據(jù)緩沖區(qū)指派給解碼進(jìn)程,并申請下一個可使用的pcm數(shù)據(jù)緩沖區(qū)。
優(yōu)選地,在pcm注入進(jìn)程中,將所有有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。
優(yōu)選地,當(dāng)最后一個數(shù)據(jù)緩沖區(qū)遺留有不到一幀數(shù)據(jù)時,將這部分?jǐn)?shù)據(jù)拷貝到第一個數(shù)據(jù)緩沖區(qū)中,與后續(xù)有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。
優(yōu)選地,所述步驟2數(shù)據(jù)解碼進(jìn)程中,對mp3數(shù)據(jù)進(jìn)行解碼基于Iibmad庫。
本發(fā)明的有益效果本發(fā)明通過網(wǎng)絡(luò)傳輸把mp3數(shù)據(jù)以數(shù)據(jù)流的形式接收到機(jī)頂盒解碼端,解碼mp3數(shù)據(jù)流,得到pcm音頻數(shù)據(jù),多路pcm同時寫入音頻設(shè)備,播放音樂, 實(shí)現(xiàn)混音?;煲舻母髀穖p3播放采用相同方式,相互獨(dú)立的進(jìn)程,實(shí)現(xiàn)多路mp3同時播放并提供單路mp3播放控制功能。本發(fā)明的方法通過多進(jìn)程共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)緩存,同時分段下載mp3數(shù)據(jù),減少內(nèi)存的占用,對共享內(nèi)存的訪問和保護(hù)采用指派方式,減少數(shù)據(jù)拷貝,提高效率。
圖1為mp3流媒體混音的過程。
圖2為本發(fā)明的mp3流媒體混音的方法。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例和附圖對本發(fā)明作進(jìn)一步的說明。
圖1為mp3流媒體混音的過程。如圖1所示,將兩路以上pcm流由一路pcm輸出, pcm的來源為http服務(wù)器提供的mp3流解碼出的數(shù)據(jù)。
圖2為本發(fā)明的機(jī)頂盒mp3流媒體混音的方法,其包括以下步驟步驟1數(shù)據(jù)下載進(jìn)程建立網(wǎng)絡(luò)連接,發(fā)送http請求并解析http服務(wù)器返回的響應(yīng), 獲取可使用的mp3數(shù)據(jù)緩沖區(qū),mp3數(shù)據(jù)緩沖區(qū)接收數(shù)據(jù)并進(jìn)行填充,mp3數(shù)據(jù)緩沖區(qū)填充滿后,將mp3數(shù)據(jù)緩沖區(qū)的使用權(quán)指派給數(shù)據(jù)解碼進(jìn)程,并申請下一個可使用的mp3數(shù)據(jù)緩沖區(qū);步驟2數(shù)據(jù)解碼進(jìn)程獲取可解碼的mp3數(shù)據(jù)緩沖區(qū),并獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將mp3數(shù)據(jù)解碼到pcm數(shù)據(jù)緩沖區(qū)中;將解碼后的mp3數(shù)據(jù)緩沖區(qū)指派給數(shù)據(jù)下載進(jìn)程,將pcm數(shù)據(jù)緩沖區(qū)指派給pcm注入進(jìn)程,并申請下一個可解碼的mp3數(shù)據(jù)緩沖區(qū);步驟3 pcm注入進(jìn)程獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將pcm數(shù)據(jù)送到音頻播放設(shè)備, 將Pcm數(shù)據(jù)緩沖區(qū)指派給解碼進(jìn)程,并申請下一個可使用的pcm數(shù)據(jù)緩沖區(qū)。
本發(fā)明通過網(wǎng)絡(luò)傳輸把mp3數(shù)據(jù)以數(shù)據(jù)流的形式接收到機(jī)頂盒解碼端,解碼 mp3數(shù)據(jù)流,得到pcm音頻數(shù)據(jù),多路pcm同時寫入音頻設(shè)備,播放音樂,實(shí)現(xiàn)混音?;煲舻母髀穖p3播放采用相同方式,相互獨(dú)立的進(jìn)程,實(shí)現(xiàn)多路mp3同時播放并提供單路mp3播放控制功能。本發(fā)明的方法通過多進(jìn)程共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)緩存,同時分段下載mp3數(shù)據(jù),減少內(nèi)存的占用,對共享內(nèi)存的訪問和保護(hù)采用指派方式,減少數(shù)據(jù)拷貝,提高效率。
優(yōu)選地,在pcm注入進(jìn)程中,將所有有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。所有緩沖區(qū)可看做分割的小塊,也可看做是整塊。生產(chǎn)者按分割的小塊生產(chǎn),而消費(fèi)者則將可使用的小塊連接成一片使用。在pcm數(shù)據(jù)注入時,底層數(shù)據(jù)的注入只關(guān)注起始地址,作為整塊注入時效率明顯提高,這種方式更顯現(xiàn)出其優(yōu)勢。
優(yōu)選地,當(dāng)最后一個數(shù)據(jù)緩沖區(qū)遺留有不到一幀數(shù)據(jù)時,將這部分?jǐn)?shù)據(jù)拷貝到第一個數(shù)據(jù)緩沖區(qū)中,與后續(xù)有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。
優(yōu)選地,上述步驟2數(shù)據(jù)解碼進(jìn)程中,對mp3數(shù)據(jù)進(jìn)行解碼基于Iibmad庫。Iibmad 是一個開源的高精度MPEG音頻解碼庫,支持MPEG-I (Layer I,Layer II和LayerIII (也就是mp3)。Iibmad提供Μ-bit的pcm輸出,完全是定點(diǎn)計算,非常適合沒有浮點(diǎn)支持的平臺上使用。使用Iibmad提供的一系列API,就可以非常簡單地實(shí)現(xiàn)mp3數(shù)據(jù)解碼工作。
以上上述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種機(jī)頂盒mp3流媒體混音的方法,其包括以下步驟步驟1數(shù)據(jù)下載進(jìn)程建立網(wǎng)絡(luò)連接,發(fā)送http請求并解析http服務(wù)器返回的響應(yīng), 獲取可使用的mp3數(shù)據(jù)緩沖區(qū),mp3數(shù)據(jù)緩沖區(qū)接收數(shù)據(jù)并進(jìn)行填充,mp3數(shù)據(jù)緩沖區(qū)填充滿后,將mp3數(shù)據(jù)緩沖區(qū)的使用權(quán)指派給數(shù)據(jù)解碼進(jìn)程,并申請下一個可使用的mp3數(shù)據(jù)緩沖區(qū);步驟2數(shù)據(jù)解碼進(jìn)程獲取可解碼的mp3數(shù)據(jù)緩沖區(qū),并獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將mp3數(shù)據(jù)解碼到pcm數(shù)據(jù)緩沖區(qū)中;將解碼后的mp3數(shù)據(jù)緩沖區(qū)指派給數(shù)據(jù)下載進(jìn)程,將pcm數(shù)據(jù)緩沖區(qū)指派給pcm注入進(jìn)程,并申請下一個可解碼的mp3數(shù)據(jù)緩沖區(qū);步驟3 pcm注入進(jìn)程獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將pcm數(shù)據(jù)送到音頻播放設(shè)備, 將pcm數(shù)據(jù)緩沖區(qū)指派給解碼進(jìn)程,并申請下一個可使用的pcm數(shù)據(jù)緩沖區(qū)。
2.如權(quán)利要求1所述的機(jī)頂盒mp3流媒體混音的方法,其特征在于在pcm注入進(jìn)程中, 將所有有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。
3.如權(quán)利要求2所述的機(jī)頂盒mp3流媒體混音的方法,其特征在于當(dāng)最后一個數(shù)據(jù)緩沖區(qū)遺留有不到一幀數(shù)據(jù)時,將這部分?jǐn)?shù)據(jù)拷貝到第一個數(shù)據(jù)緩沖區(qū)中,與后續(xù)有使用權(quán)的數(shù)據(jù)緩沖區(qū)連成一塊。
4.如權(quán)利要求1至3其中之一所述的機(jī)頂盒mp3流媒體混音的方法,其特征在于所述步驟2數(shù)據(jù)解碼進(jìn)程中,對mp3數(shù)據(jù)進(jìn)行解碼基于Iibmad庫。
全文摘要
本發(fā)明涉及機(jī)頂盒領(lǐng)域,本發(fā)明公開了一種機(jī)頂盒mp3流媒體混音的方法,其包括以下步驟步驟1數(shù)據(jù)下載進(jìn)程;步驟2數(shù)據(jù)解碼進(jìn)程獲取可解碼的mp3數(shù)據(jù)緩沖區(qū),并獲取可使用的pcm數(shù)據(jù)緩沖區(qū),將mp3數(shù)據(jù)解碼到pcm數(shù)據(jù)緩沖區(qū)中;將解碼后的mp3數(shù)據(jù)緩沖區(qū)指派給數(shù)據(jù)下載進(jìn)程,將pcm數(shù)據(jù)緩沖區(qū)指派給pcm注入進(jìn)程,并申請下一個可解碼的mp3數(shù)據(jù)緩沖區(qū);步驟3pcm注入進(jìn)程。本發(fā)明的方法通過多進(jìn)程共享內(nèi)存實(shí)現(xiàn)數(shù)據(jù)緩存,同時分段下載mp3數(shù)據(jù),減少內(nèi)存的占用,對共享內(nèi)存的訪問和保護(hù)采用指派方式,減少數(shù)據(jù)拷貝,提高效率。
文檔編號G11B20/10GK102522103SQ201110361300
公開日2012年6月27日 申請日期2011年11月15日 優(yōu)先權(quán)日2011年11月15日
發(fā)明者唐勇, 申及, 袁娟 申請人:四川九洲電器集團(tuán)有限責(zé)任公司