音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個基音周期和第二個基音周期的數(shù)據(jù)合并為一個基音周期的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個基音周期和第二個基音周期的數(shù)據(jù)。
[0157]可選的,所述方法還包括:
[0158]獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期;
[0159]所述如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,包括:
[0160]如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則根據(jù)預(yù)設(shè)的延長時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長對應(yīng)的單位處理時長;
[0161]如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則根據(jù)預(yù)設(shè)的縮短時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短對應(yīng)的單位處理時長。
[0162]可選的,所述將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長對應(yīng)的單位處理時長,包括:
[0163]在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),將合并的數(shù)據(jù)插入到所述第一個單位處理時長和所述第二個單位處理時長之間;
[0164]所述將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短對應(yīng)的單位處理時長,包括:
[0165]在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)。
[0166]可選的,所述獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期,包括:
[0167]如果所述待播放音頻數(shù)據(jù)中的音頻幀記錄有基音周期,則從所述待播放音頻數(shù)據(jù)中的每個音頻幀中獲取每個音頻幀的基音周期;如果所述待播放音頻數(shù)據(jù)中的音頻幀未記錄有基音周期,則基于基音周期搜索算法,以及每個解碼后的音頻幀,確定每個音頻幀的基音周期。
[0168]本發(fā)明實施例中,在語音通話的過程中,檢測抖動緩存中存儲的待播放音頻數(shù)據(jù)的數(shù)據(jù)量,如果音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,其中,第一閾值小于第二閾值,按照播放時序,對經(jīng)過處理的待播放音頻數(shù)據(jù)進行播放。這樣,當抖動緩存中數(shù)據(jù)量較少時,抖動緩存中的音頻數(shù)據(jù)播放變慢,當網(wǎng)絡(luò)不穩(wěn)定時,可以提供較長的時間使得緩存中存入新的音頻數(shù)據(jù),當抖動緩存中數(shù)據(jù)量較多時,抖動緩存中的音頻數(shù)據(jù)盡快播放,保證抖動緩存中有盡量多的空間,可以保存瞬間接收的大量音頻數(shù)據(jù),防止抖動緩沖區(qū)內(nèi)的音頻數(shù)據(jù)溢出,從而,可以防止出現(xiàn)播空或缺字的現(xiàn)象。
[0169]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0170]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【主權(quán)項】
1.一種播放音頻數(shù)據(jù)的方法,其特征在于,所述方法包括: 在語音通話的過程中,檢測抖動緩存中存儲的待播放音頻數(shù)據(jù)的數(shù)據(jù)量; 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,其中,所述第一閾值小于所述第二閾值; 按照播放時序,對經(jīng)過處理的待播放音頻數(shù)據(jù)進行播放。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期; 所述如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,包括: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長1個對應(yīng)的基音周期;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短1個對應(yīng)的基音周期。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長1個對應(yīng)的基音周期;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短1個對應(yīng)的基音周期,包括: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個基音周期和第二個基音周期的數(shù)據(jù)合并為一個基音周期的數(shù)據(jù),將合并的數(shù)據(jù)插入到所述第一個基音周期和所述第二個基音周期之間; 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個基音周期和第二個基音周期的數(shù)據(jù)合并為一個基音周期的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個基音周期和第二個基音周期的數(shù)據(jù)。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期; 所述如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,包括: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則根據(jù)預(yù)設(shè)的延長時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長對應(yīng)的單位處理時長; 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則根據(jù)預(yù)設(shè)的縮短時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短對應(yīng)的單位處理時長。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長對應(yīng)的單位處理時長,包括: 在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),將合并的數(shù)據(jù)插入到所述第一個單位處理時長和所述第二個單位處理時長之間; 所述將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短對應(yīng)的單位處理時長,包括: 在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)。6.根據(jù)權(quán)利要求2、4任一項所述的方法,其特征在于,所述獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期,包括: 如果所述待播放音頻數(shù)據(jù)中的音頻幀記錄有基音周期,則從所述待播放音頻數(shù)據(jù)中的每個音頻幀中獲取每個音頻幀的基音周期;如果所述待播放音頻數(shù)據(jù)中的音頻幀未記錄有基音周期,則基于基音周期搜索算法,以及每個解碼后的音頻幀,確定每個音頻幀的基音周期。7.一種播放音頻數(shù)據(jù)的裝置,其特征在于,所述裝置包括: 檢測模塊,用于在語音通話的過程中,檢測抖動緩存中存儲的待播放音頻數(shù)據(jù)的數(shù)據(jù)量; 處理模塊,用于如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,其中,所述第一閾值小于所述第二閾值; 播放模塊,用于按照播放時序,對經(jīng)過處理的待播放音頻數(shù)據(jù)進行播放。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括獲取模塊,用于: 獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期; 所述處理模塊,用于: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長1個對應(yīng)的基音周期;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短1個對應(yīng)的基音周期。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述處理模塊,包括: 第一處理子模塊,用于如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個基音周期和第二個基音周期的數(shù)據(jù)合并為一個基音周期的數(shù)據(jù),將合并的數(shù)據(jù)插入到所述第一個基音周期和所述第二個基音周期之間; 第二處理子模塊,用于如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個基音周期和第二個基音周期的數(shù)據(jù)合并為一個基音周期的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個基音周期和第二個基音周期的數(shù)據(jù)。10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,用于: 獲取所述待播放音頻數(shù)據(jù)中的每個音頻幀的基音周期; 所述第一處理子模塊,用于: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則根據(jù)預(yù)設(shè)的延長時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀延長對應(yīng)的單位處理時長; 所述第二處理子模塊,用于: 如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則根據(jù)預(yù)設(shè)的縮短時長,確定每個音頻幀對應(yīng)的單位處理時長,其中,每個單位處理時長是對應(yīng)的音頻幀的基音周期的整數(shù)倍;將所述待播放音頻數(shù)據(jù)中的每個音頻幀縮短對應(yīng)的單位處理時長。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一處理子模塊,用于: 在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),將合并的數(shù)據(jù)插入到所述第一個單位處理時長和所述第二個單位處理時長之間; 所述第二處理子模塊,用于: 在所述待播放音頻數(shù)據(jù)中的每個音頻幀中,將第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)合并為一個單位處理時長的數(shù)據(jù),用合并的數(shù)據(jù)替換所述第一個單位處理時長和第二個單位處理時長的數(shù)據(jù)。12.根據(jù)權(quán)利要求8、10任一項所述的裝置,其特征在于,所述獲取模塊,用于: 如果所述待播放音頻數(shù)據(jù)中的音頻幀記錄有基音周期,則從所述待播放音頻數(shù)據(jù)中的每個音頻幀中獲取每個音頻幀的基音周期;如果所述待播放音頻數(shù)據(jù)中的音頻幀未記錄有基音周期,則基于基音周期搜索算法,以及每個解碼后的音頻幀,確定每個音頻幀的基音周期。
【專利摘要】本發(fā)明公開了一種播放音頻數(shù)據(jù)的方法和裝置,屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域。所述方法包括:在語音通話的過程中,檢測抖動緩存中存儲的待播放音頻數(shù)據(jù)的數(shù)據(jù)量;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量低于預(yù)設(shè)的第一閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長延長處理;如果所述音頻數(shù)據(jù)的數(shù)據(jù)量高于預(yù)設(shè)的第二閾值,則對所述待播放音頻數(shù)據(jù)中的音頻幀進行時長縮短處理,其中,所述第一閾值小于所述第二閾值;按照播放時序,對經(jīng)過處理的待播放音頻數(shù)據(jù)進行播放。采用本發(fā)明,可以防止出現(xiàn)播空或缺字的現(xiàn)象。
【IPC分類】H04L29/06, G10L21/04, H04L12/841
【公開號】CN105245496
【申請?zhí)枴緾N201510536538
【發(fā)明人】林成保
【申請人】廣州市百果園網(wǎng)絡(luò)科技有限公司
【公開日】2016年1月13日
【申請日】2015年8月26日