一種移動終端的音樂播放方法及裝置制造方法
【專利摘要】本發(fā)明適用于移動終端【技術(shù)領(lǐng)域】,提供了一種移動終端的音樂播放方法及裝置,所述方法包括:接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息;根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù);通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū);通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。本發(fā)明在播放音樂時,通過預(yù)設(shè)緩沖區(qū)存儲解碼得到的PCM音頻數(shù)據(jù),從而在CPU解碼能力不足時也能從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放,防止移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象。
【專利說明】一種移動終端的音樂播放方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于移動終端【技術(shù)領(lǐng)域】,尤其涉及一種移動終端的音樂播放方法及裝置。
【背景技術(shù)】
[0002]對于中低性能的移動終端,當(dāng)同時運行較多優(yōu)先級高于音樂播放器的應(yīng)用程序,且這些應(yīng)用程序?qū)е翪PU (Central Processing Unit,中央處理器)解碼能力不足時,若移動終端開啟音樂播放器播放音樂,則CPU不能及時對音頻文件進行解碼,從而造成音樂播放器播放音樂時出現(xiàn)卡頓現(xiàn)象。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例的目的在于提供一種移動終端的音樂播放方法及裝置,以解決現(xiàn)有的移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象的問題。
[0004]本發(fā)明實施例是這樣實現(xiàn)的,一種移動終端的音樂播放方法,包括:
[0005]接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息;
[0006]根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù);
[0007]通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū);
[0008]通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
[0009]本發(fā)明實施例的另一目的在于提供一種移動終端的音樂播放裝置,包括:
[0010]播放請求信息接收模塊,用于接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息;
[0011]解碼模塊,用于根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù);
[0012]緩沖區(qū)寫入模塊,用于通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū);
[0013]音頻播放模塊,用于通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
[0014]本發(fā)明實施例與現(xiàn)有技術(shù)相比存在的有益效果是:本發(fā)明實施例通過在接收到音頻文件播放請求信息時,對待播放音頻文件進行解碼,獲取對應(yīng)的PCM音頻數(shù)據(jù),并通過第一線程將PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū),再通過第二線程從預(yù)設(shè)緩沖區(qū)中讀出PCM音頻數(shù)據(jù)并播放,由此在播放音樂時,通過預(yù)設(shè)緩沖區(qū)存儲解碼得到的PCM音頻數(shù)據(jù),從而在CPU解碼能力不足時也能從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放,防止移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實施例提供的移動終端的音樂播放方法的實現(xiàn)流程圖;
[0017]圖2是本發(fā)明實施例提供的移動終端的音樂播放方法步驟S102中所述對所述待播放音頻文件進行解碼的具體實現(xiàn)流程圖;
[0018]圖3是本發(fā)明另一實施例提供的移動終端的音樂播放方法的實現(xiàn)流程圖;
[0019]圖4是本發(fā)明實施例提供的移動終端的音樂播放裝置的結(jié)構(gòu)框圖。
【具體實施方式】
[0020]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]本發(fā)明實施例通過在接收到音頻文件播放請求信息時,對待播放音頻文件進行解碼,獲取對應(yīng)的PCM音頻數(shù)據(jù),并通過第一線程將PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū),再通過第二線程從預(yù)設(shè)緩沖區(qū)中讀出PCM音頻數(shù)據(jù)并播放,由此在播放音樂時,通過預(yù)設(shè)緩沖區(qū)存儲解碼得到的PCM音頻數(shù)據(jù),從而在CPU解碼能力不足時也能從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放,防止移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象。
[0022]本發(fā)明實施例中的移動終端可以包括移動電話(或稱為“蜂窩”電話)和具有移動終端的計算機,例如,可以是便攜式、袖珍式、手持式、計算機內(nèi)置的或者車載的移動裝置,它們與無線接入網(wǎng)交換語言和/或數(shù)據(jù)。例如,個人通信業(yè)務(wù)(Personal Communicat1nService, PCS)電話、無繩電話、會話發(fā)起協(xié)議(Sess1n Initiat1n Protocol, SIP)話機、無線本地環(huán)路(Wireless Local Loop, WLL)站、個人數(shù)字助理(Personal DigitalAssistant, PDA)等設(shè)備,在此不作限定。
[0023]圖1示出了本發(fā)明實施例提供的移動終端的音樂播放方法的實現(xiàn)流程圖,詳述如下:
[0024]在步驟SlOl中,接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息。
[0025]在本發(fā)明實施例中,移動終端接收用戶輸入的音頻文件播放請求信息,播放請求信息中攜帶有待播放音頻文件的標識信息,帶播放音頻文件的標識信息可以包括待播放音頻文件的文件名、存儲路徑和采樣率,在此不作限定。
[0026]在步驟S102中,根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù)。
[0027]根據(jù)待播放音頻文件的文件名和存儲路徑,獲取待播放音頻文件,再通過CPU對待播放音頻文件進行解碼,得到待播放音頻文件對應(yīng)的PCM(Pulse Code Modulat1n,脈沖編碼調(diào)制)音頻數(shù)據(jù)。
[0028]在步驟S103中,通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū)。
[0029]移動終端對待播放音頻文件進行解碼后,通過第一線程將得到的PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū)。
[0030]在步驟S104中,通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
[0031]當(dāng)移動終端需要播放音頻文件時,通過第二線程從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放。相對于現(xiàn)有的音頻播放框架中的音頻播放部分,本發(fā)明實施例有效地降低了移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象的可能性,此外,通過本發(fā)明實施例,可降低對移動終端的CPU的解碼能力的要求,從而降低移動終端的成本。
[0032]可選地,在步驟S103所述通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū)時,所述方法還包括:
[0033]對所述預(yù)設(shè)緩沖區(qū)進行加鎖,以防止所述第二線程訪問所述預(yù)設(shè)緩沖區(qū);
[0034]在步驟S104所述通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放時,所述方法還包括:
[0035]對所述預(yù)設(shè)緩沖區(qū)進行加鎖,以防止所述第一線程訪問所述預(yù)設(shè)緩沖區(qū)。
[0036]在本發(fā)明實施例中,預(yù)設(shè)緩沖區(qū)在任意一個時刻只能由一個線程鎖定。需要說明的是,若第二線程試圖對預(yù)設(shè)緩沖區(qū)進行加鎖,而此時第一線程已經(jīng)鎖定預(yù)設(shè)緩沖區(qū),則第二線程進入休眠狀態(tài),一旦第一線程對預(yù)設(shè)緩沖區(qū)進行解鎖,則第二線程就能夠?qū)︻A(yù)設(shè)緩沖區(qū)進行加鎖。同理,若第一線程試圖對預(yù)設(shè)緩沖區(qū)進行加鎖,而此時第二線程已經(jīng)鎖定預(yù)設(shè)緩沖區(qū),則第一線程進入休眠狀態(tài),一旦第二線程對預(yù)設(shè)緩沖區(qū)進行解鎖,則第一線程就能夠?qū)︻A(yù)設(shè)緩沖區(qū)進行加鎖。通過對預(yù)設(shè)緩沖區(qū)的加鎖和解鎖,能夠保證在任意一個時刻只有一個線程訪問預(yù)設(shè)緩沖區(qū)。
[0037]圖2示出了步驟S102中所述對所述待播放音頻文件進行解碼的具體實現(xiàn)流程圖,參照圖2:
[0038]在步驟S201中,在所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化時,判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間。
[0039]在步驟S202中,若所述預(yù)設(shè)緩沖區(qū)有足夠存儲空間,則對所述待播放音頻文件進行解碼。
[0040]在本發(fā)明實施例中,若預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化,則進一步判斷預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間。判斷預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間具體為:判斷預(yù)設(shè)緩沖區(qū)中的剩余空間大小是否大于或等于一次解碼得到的PCM音頻數(shù)據(jù)所占的空間大小,若是,則判定預(yù)設(shè)緩沖區(qū)有足夠存儲空間;若否,則判定預(yù)設(shè)緩沖區(qū)沒有足夠存儲空間。
[0041]進一步地,在步驟S201所述判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間之前,步驟S102所述對所述待播放音頻文件進行解碼還包括:
[0042]判斷所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)是否發(fā)生變化;
[0043]若所述第一線程寫入所述PCM音頻數(shù)據(jù)至所述預(yù)設(shè)緩沖區(qū),或者所述第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù),則判定所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化。
[0044]在本發(fā)明實施例中,通過判斷某一時刻第一線程或第二線程是否訪問預(yù)設(shè)緩沖區(qū)來判斷預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)是否發(fā)生變化。若在某一時刻,第一線程或第二線程訪問預(yù)設(shè)緩沖區(qū),即第一線程寫入PCM音頻數(shù)據(jù)至預(yù)設(shè)緩沖區(qū),或者第二線程從預(yù)設(shè)緩沖區(qū)中讀出PCM音頻數(shù)據(jù),則判定預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化。若在某一時刻,第一線程和第二線程都沒有訪問預(yù)設(shè)緩沖區(qū),則判定預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)沒有發(fā)生變化。
[0045]圖3示出了本發(fā)明另一實施例提供的移動終端的音樂播放方法的實現(xiàn)流程圖,參照圖3:
[0046]在步驟S301中,接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息;
[0047]在步驟S302中,根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù);
[0048]在步驟S303中,通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū);
[0049]在步驟S304中,通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放;
[0050]在步驟S305中,當(dāng)接收到音頻文件暫停播放請求信息時,記錄所述第二線程從所述預(yù)設(shè)緩沖區(qū)讀出的最后一比特的PCM音頻數(shù)據(jù)的位置。
[0051]其中,步驟S301至步驟S304與步驟SlOl至步驟S104——對應(yīng),在此不再贅述。在步驟S305中,若移動終端暫停播放音頻文件,則記錄第二線程從預(yù)設(shè)緩沖區(qū)讀出的最后一比特的PCM音頻數(shù)據(jù)的位置,以在下一次播放該音頻文件時,從上次記錄的讀出位置的下一比特起讀出PCM音頻數(shù)據(jù)。
[0052]優(yōu)選地,所述預(yù)設(shè)緩沖區(qū)的容量等于共享內(nèi)存容量XN,其中,N為大于或等于I的整數(shù)。其中,共享內(nèi)存容量=幀數(shù)X待播放音頻文件的音頻幀大小,待播放音頻文件的音頻幀大小=待播放音頻文件的音頻通道數(shù)X待播放音頻文件的音頻采樣位數(shù),幀數(shù)=播放通道幀數(shù)X待播放音頻文件的音頻采樣率/播放通道采樣率。
[0053]在這里,預(yù)設(shè)緩沖區(qū)的大小可以為待播放音頻文件對應(yīng)的共享內(nèi)存容量的N倍。
[0054]可選地,將預(yù)設(shè)緩沖區(qū)的大小設(shè)置為待播放音頻文件對應(yīng)的共享內(nèi)存容量的大小,可在節(jié)省系統(tǒng)內(nèi)存的前提下,保證移動終端播放音樂時不卡頓。
[0055]本發(fā)明實施例通過在接收到音頻文件播放請求信息時,對待播放音頻文件進行解碼,獲取對應(yīng)的PCM音頻數(shù)據(jù),并通過第一線程將PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū),再通過第二線程從預(yù)設(shè)緩沖區(qū)中讀出PCM音頻數(shù)據(jù)并播放,由此在播放音樂時,通過預(yù)設(shè)緩沖區(qū)存儲解碼得到的PCM音頻數(shù)據(jù),從而在CPU解碼能力不足時也能從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放,防止移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象。
[0056]圖4示出了本發(fā)明實施例提供的移動終端的音樂播放裝置的結(jié)構(gòu)框圖,該裝置可以用于運行圖1至圖3所述的移動終端的音樂播放方法。為了便于說明,僅示出了與本實施例相關(guān)的部分。需要說明的是,本發(fā)明實施例中移動終端的音樂播放裝置可以為移動終端,也可以為內(nèi)置于移動終端的裝置。
[0057]參照圖4,該裝置包括:
[0058]播放請求信息接收模塊41,用于接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息;
[0059]解碼模塊42,用于根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù);
[0060]緩沖區(qū)寫入模塊43,用于通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū);
[0061]音頻播放模塊44,用于通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
[0062]優(yōu)選地,所述解碼模塊42包括:
[0063]第一判斷子模塊421,用于在所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化時,判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間;
[0064]解碼子模塊422,用于若所述預(yù)設(shè)緩沖區(qū)有足夠存儲空間,則對所述待播放音頻文件進行解碼。
[0065]進一步地,,所述解碼模塊42還包括第二判斷子模塊423,所述第二判斷子模塊423具體用于:
[0066]判斷所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)是否發(fā)生變化;
[0067]若所述第一線程寫入所述PCM音頻數(shù)據(jù)至所述預(yù)設(shè)緩沖區(qū),或者所述第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù),則判定所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化。
[0068]優(yōu)選地,所述裝置還包括:
[0069]讀出位置記錄模塊45,用于當(dāng)接收到音頻文件暫停播放請求信息時,記錄所述第二線程從所述預(yù)設(shè)緩沖區(qū)讀出的最后一比特的PCM音頻數(shù)據(jù)的位置。
[0070]優(yōu)選地,所述預(yù)設(shè)緩沖區(qū)的容量等于共享內(nèi)存容量XN,其中,N為大于或等于I的整數(shù)。
[0071]本發(fā)明實施例通過在接收到音頻文件播放請求信息時,對待播放音頻文件進行解碼,獲取對應(yīng)的PCM音頻數(shù)據(jù),并通過第一線程將PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū),再通過第二線程從預(yù)設(shè)緩沖區(qū)中讀出PCM音頻數(shù)據(jù)并播放,由此在播放音樂時,通過預(yù)設(shè)緩沖區(qū)存儲解碼得到的PCM音頻數(shù)據(jù),從而在CPU解碼能力不足時也能從預(yù)設(shè)緩沖區(qū)讀出PCM音頻數(shù)據(jù)并播放,防止移動終端播放音樂時出現(xiàn)卡頓現(xiàn)象。
[0072]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種移動終端的音樂播放方法,其特征在于,包括: 接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息; 根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù); 通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū); 通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
2.如權(quán)利要求1所述的方法,其特征在于,所述對所述待播放音頻文件進行解碼包括: 在所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化時,判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間; 若所述預(yù)設(shè)緩沖區(qū)有足夠存儲空間,則對所述待播放音頻文件進行解碼。
3.如權(quán)利要求2所述的方法,其特征在于,在所述判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間之前,所述對所述待播放音頻文件進行解碼還包括: 判斷所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)是否發(fā)生變化; 若所述第一線程寫入所述PCM音頻數(shù)據(jù)至所述預(yù)設(shè)緩沖區(qū),或者所述第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù),則判定所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化。
4.如權(quán)利要求1所述的方法,其特征在于,在所述通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放之后,所述方法還包括: 當(dāng)接收到音頻文件暫停播放請求信息時,記錄所述第二線程從所述預(yù)設(shè)緩沖區(qū)讀出的最后一比特的PCM音頻數(shù)據(jù)的位置。
5.如權(quán)利要求1至4任一項所述的方法,其特征在于,所述預(yù)設(shè)緩沖區(qū)的容量等于共享內(nèi)存容量XN,其中,N為大于或等于I的整數(shù)。
6.一種移動終端的音樂播放裝置,其特征在于,包括: 播放請求信息接收模塊,用于接收音頻文件播放請求信息,所述播放請求信息中攜帶有待播放音頻文件的標識信息; 解碼模塊,用于根據(jù)所述標識信息獲取對應(yīng)的待播放音頻文件,并對所述待播放音頻文件進行解碼,獲取對應(yīng)的脈沖編碼調(diào)制PCM音頻數(shù)據(jù); 緩沖區(qū)寫入模塊,用于通過第一線程將所述PCM音頻數(shù)據(jù)寫入預(yù)設(shè)緩沖區(qū); 音頻播放模塊,用于通過第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù)并播放。
7.如權(quán)利要求6所述的裝置,其特征在于,所述解碼模塊包括: 第一判斷子模塊,用于在所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化時,判斷所述預(yù)設(shè)緩沖區(qū)是否有足夠存儲空間; 解碼子模塊,用于若所述預(yù)設(shè)緩沖區(qū)有足夠存儲空間,則對所述待播放音頻文件進行解碼。
8.如權(quán)利要求7所述的裝置,其特征在于,所述解碼模塊還包括第二判斷子模塊,所述第二判斷子模塊具體用于: 判斷所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)是否發(fā)生變化; 若所述第一線程寫入所述PCM音頻數(shù)據(jù)至所述預(yù)設(shè)緩沖區(qū),或者所述第二線程從所述預(yù)設(shè)緩沖區(qū)中讀出所述PCM音頻數(shù)據(jù),則判定所述預(yù)設(shè)緩沖區(qū)的數(shù)據(jù)存儲狀態(tài)發(fā)生變化。
9.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 讀出位置記錄模塊,用于當(dāng)接收到音頻文件暫停播放請求信息時,記錄所述第二線程從所述預(yù)設(shè)緩沖區(qū)讀出的最后一比特的PCM音頻數(shù)據(jù)的位置。
10.如權(quán)利要求6至9任一項所述的裝置,其特征在于,所述預(yù)設(shè)緩沖區(qū)的容量等于共享內(nèi)存容量XN,其中,N為大于或等于I的整數(shù)。
【文檔編號】G11B20/10GK104240739SQ201410449234
【公開日】2014年12月24日 申請日期:2014年9月4日 優(yōu)先權(quán)日:2014年9月4日
【發(fā)明者】涂廣, 李偉 申請人:廣東歐珀移動通信有限公司