音頻處理方法及相關(guān)裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了音頻處理方法及相關(guān)裝置。其中,一種音頻處理方法可包括:將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或等于第二閾值,則當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于累計(jì)出的總播放時(shí)長(zhǎng)和累計(jì)出的總采樣時(shí)長(zhǎng)得到。本發(fā)明實(shí)施例提供的技術(shù)方案有利于盡量消除網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響。
【專利說(shuō)明】音頻處理方法及相關(guān)裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)【技術(shù)領(lǐng)域】,具體主要涉及一種音頻處理方法及相關(guān)裝置。
【背景技術(shù)】
[0002]音頻網(wǎng)絡(luò)抖動(dòng)可指網(wǎng)絡(luò)傳輸音頻數(shù)據(jù)包時(shí)的延遲變化程度。由于網(wǎng)絡(luò)可能發(fā)生擁塞等,排隊(duì)延遲將影響端到端延遲,并導(dǎo)致通過(guò)同一連接傳輸?shù)囊纛l數(shù)據(jù)包延遲各不相同,且音頻數(shù)據(jù)包可能出現(xiàn)亂序,進(jìn)而可能造成音頻播放卡頓或雜音等不良用戶體驗(yàn)。
[0003]其中,由于音頻源(即音頻生產(chǎn)方)發(fā)送的音頻數(shù)據(jù)包經(jīng)過(guò)網(wǎng)絡(luò)傳輸可能產(chǎn)生網(wǎng)絡(luò)抖動(dòng),進(jìn)而可能造成音頻播放終端(即音頻消費(fèi)方)出現(xiàn)卡頓和延遲等不良用戶體驗(yàn)。因此,現(xiàn)有技術(shù)通過(guò)緩沖固定較長(zhǎng)時(shí)長(zhǎng)(例如3秒)的音頻數(shù)據(jù)包來(lái)消除網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放的影響,能夠在很大程度上保證音頻播放的流暢性。
[0004]本發(fā)明的發(fā)明人在研究和實(shí)踐過(guò)程中發(fā)現(xiàn),現(xiàn)有技術(shù)至少存在以下的技術(shù)問(wèn)題:現(xiàn)有技術(shù)通過(guò)緩沖固定較長(zhǎng)時(shí)長(zhǎng)的音頻數(shù)據(jù)包來(lái)消除網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性的影響,但由于緩沖的音頻數(shù)據(jù)包時(shí)長(zhǎng)通常較長(zhǎng),可能造成音頻接收方用戶聽(tīng)到聲音的延遲可能較大。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供音頻處理方法及相關(guān)裝置,以期盡量消除網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響。
[0006]本發(fā)明實(shí)施例一方面提供一種音頻處理方法,可包括:
[0007]將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);
[0008]累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);
[0009]若所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或等于第二閾值,則當(dāng)所述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從所述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于所述累計(jì)出的所述總播放時(shí)長(zhǎng)和所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到。
[0010]本發(fā)明實(shí)施例另一方面提供一種終端設(shè)備,包括:
[0011]接收緩沖單元,用于將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);
[0012]累計(jì)單元,用于累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);
[0013]緩沖播放單元,若所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)所述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從所述緩沖區(qū)讀取出未播放的音頻數(shù)據(jù)包進(jìn)行播放,其中,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于所述累計(jì)出的所述總播放時(shí)長(zhǎng)和所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到。
[0014]可以看出,本發(fā)明實(shí)施例的技術(shù)方案中,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,其中,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
【專利附圖】
【附圖說(shuō)明】
[0015]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1是本發(fā)明實(shí)施例提供的一種音頻處理方法的流程示意圖;
[0017]圖2是本發(fā)明實(shí)施例提供的另一種音頻處理方法的流程示意圖;
[0018]圖3是本發(fā)明實(shí)施例提供的另一種音頻處理方法的流程示意圖;
[0019]圖4是本發(fā)明實(shí)施例提供的一種計(jì)算當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值的方法的流程示意圖;
[0020]圖5是本發(fā)明實(shí)施例提供的一種終端設(shè)備的示意圖;
[0021]圖6是本發(fā)明實(shí)施例提供的另一種終端設(shè)備的示意圖;
[0022]圖7是本發(fā)明實(shí)施例提供的另一種終端設(shè)備的示意圖。
【具體實(shí)施方式】
[0023]本發(fā)明實(shí)施例提供音頻處理方法及相關(guān)裝置,以期盡量消除網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響。
[0024]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0025]以下分別進(jìn)行詳細(xì)說(shuō)明。
[0026]本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“第一”、“第二”、“第三” “第四”等(如果存在)是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例例如能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0027]本發(fā)明一種音頻處理方法的一個(gè)實(shí)施例,其中,一種音頻處理方法,可以包括:將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。
[0028]首先請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明一個(gè)實(shí)施例提供的一種音頻處理方法的流程示意圖。如圖1所示,本發(fā)明一個(gè)實(shí)施例提供的一種音頻處理方法可包括以下內(nèi)容:
[0029]101、將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0030]在本發(fā)明一些可能的實(shí)施例方式中,上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)可以包括:將接收到的歸屬于某音頻文件(為便于引述,可稱之為第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0031]102、累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0032]其中,音頻數(shù)據(jù)包的采樣時(shí)長(zhǎng)即是音頻數(shù)據(jù)包的理論播放時(shí)長(zhǎng)。
[0033]在本發(fā)明一些可能的實(shí)施例方式中,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0034]在本發(fā)明的另一些可能的實(shí)施例方式中,若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。則上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),可包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于上述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0035]在本發(fā)明的又一些可能的實(shí)施例方式中,若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。其中,上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的歸屬于上述第一音頻文件的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0036]103、若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,或者,上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,則可以在上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,其中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。
[0037]在本發(fā)明一些可能實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值?;?,上述第三時(shí)長(zhǎng)等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0038]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0039]例如,第一閾值可等于I個(gè)、2個(gè)、3個(gè)、5個(gè)、10個(gè)、20個(gè)或其它值。
[0040]舉例來(lái)說(shuō),第二閾值可等于O秒、I秒、2秒、3秒、5秒或其它值。
[0041]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘?,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0042]可以看出,本實(shí)施例中,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,其中,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
[0043]為便于更好的理解和實(shí)施本發(fā)明實(shí)施例的上述方案,下面通過(guò)一些具體例子進(jìn)行舉例說(shuō)明。
[0044]請(qǐng)參見(jiàn)圖2,圖2是本發(fā)明另一個(gè)實(shí)施例提供的另一種音頻處理方法的流程示意圖。如圖2所示,本發(fā)明另一個(gè)實(shí)施例提供的另一種音頻處理方法可包括以下內(nèi)容:
[0045]201、第一終端設(shè)備向第二終端設(shè)備發(fā)送歸屬于音頻文件X的音頻數(shù)據(jù)包。
[0046]本實(shí)施例之中,當(dāng)一個(gè)第一終端設(shè)備需要通過(guò)向第二終端設(shè)備發(fā)送音頻數(shù)據(jù)包時(shí),例如進(jìn)行即時(shí)語(yǔ)音通訊或者傳輸其它音頻文件。音頻文件的音頻數(shù)據(jù)包數(shù)量通常是多個(gè),其中,多個(gè)音頻數(shù)據(jù)包可以是按照采樣時(shí)刻的先后順序進(jìn)行排序。
[0047]202、第二終端設(shè)備若接收到第一終端設(shè)備發(fā)送的歸屬于音頻文件X的音頻數(shù)據(jù)包,將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0048]在本發(fā)明一些可能的實(shí)施例方式中,上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)可以包括:將接收到的歸屬于某音頻文件(為便于引述,可稱之為第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0049]其中,本發(fā)明各實(shí)施例所指終端設(shè)備可為電腦、手機(jī)、計(jì)算節(jié)點(diǎn)、個(gè)人數(shù)字處理設(shè)備或其它類型的終端設(shè)備。
[0050]203、第二終端設(shè)備累計(jì)當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),并基于基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值。
[0051 ] 在本發(fā)明一些可能的實(shí)施例方式中,第二終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),具體可以包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0052]在本發(fā)明一些可能的實(shí)施例方式中,第二終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),具體可包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0053]在本發(fā)明一些可能實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值。或上述第三時(shí)長(zhǎng)等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0054]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0055]204、第二終端設(shè)備檢查上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)是否小于或者等于第二閾值。
[0056]舉例來(lái)說(shuō),第二閾值可等于O秒、I秒、2秒、3秒、5秒或其它值。
[0057]若否,則執(zhí)行步驟205。
[0058]若是,則執(zhí)行步驟206。
[0059]205、第二終端設(shè)備若檢查出上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于第二閾值,第二終端設(shè)備上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放。
[0060]206、若檢查出上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,第二終端設(shè)備可以在上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放。
[0061]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘?,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0062]可以看出,本實(shí)施例中終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,其中,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
[0063]請(qǐng)參見(jiàn)圖3,圖3是本發(fā)明另一個(gè)實(shí)施例提供的另一種音頻處理方法的流程示意圖。如圖3所示,本發(fā)明另一個(gè)實(shí)施例提供的另一種音頻處理方法可包括以下內(nèi)容:
[0064]301、第一終端設(shè)備向第二終端設(shè)備發(fā)送歸屬于音頻文件X的音頻數(shù)據(jù)包。
[0065]本實(shí)施例之中,當(dāng)一個(gè)第一終端設(shè)備需要通過(guò)向第二終端設(shè)備發(fā)送音頻數(shù)據(jù)包時(shí),例如進(jìn)行即時(shí)語(yǔ)音通訊或者傳輸其它音頻文件。音頻文件的音頻數(shù)據(jù)包數(shù)量通常是多個(gè),其中,多個(gè)音頻數(shù)據(jù)包可以是按照采樣時(shí)刻的先后順序進(jìn)行排序。
[0066]302、第二終端設(shè)備若接收到第一終端設(shè)備發(fā)送的歸屬于音頻文件X的音頻數(shù)據(jù)包,將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0067]在本發(fā)明一些可能的實(shí)施例方式中,上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)可以包括:將接收到的歸屬于某音頻文件(為便于引述,可稱之為第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0068]其中,本發(fā)明各實(shí)施例所指終端設(shè)備可為個(gè)人電腦、手機(jī)、個(gè)人數(shù)字處理設(shè)備或其它類型的用戶終端。
[0069]303、第二終端設(shè)備累計(jì)當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),并基于基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值。
[0070]在本發(fā)明一些可能的實(shí)施例方式中,第二終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),具體可以包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。[0071 ] 在本發(fā)明一些可能的實(shí)施例方式中,第二終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),具體可包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的歸屬于音頻文件X的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0072]在本發(fā)明一些可能實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值?;蛏鲜龅谌龝r(shí)長(zhǎng)等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0073]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0074]304、第二終端設(shè)備檢查上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量是否少于第一閾值。
[0075]例如,第一閾值可等于I個(gè)、2個(gè)、3個(gè)、5個(gè)、10個(gè)、20個(gè)或其它值。
[0076]若否,則執(zhí)行步驟305 ;
[0077]若是,則執(zhí)行步驟306 ;
[0078]305、第二終端設(shè)備若檢查出上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量大于或等于第一閾值,第二終端設(shè)備從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放。
[0079]306、若檢查出上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量小于第一閾值,第二終端設(shè)備可以在上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放。
[0080]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0081]可以看出,本實(shí)施例中,終端設(shè)備累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,其中,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值比較充分的考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
[0082]參見(jiàn)圖4,下面舉例出第二終端設(shè)備計(jì)算當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值的一種具體計(jì)算方法:
[0083]401、設(shè)置總采樣時(shí)長(zhǎng)TO的初始值等于O。
[0084]設(shè)置總播放時(shí)間Tl的初始值等于O。
[0085]402、接收音頻數(shù)據(jù)包,并將接收的上述音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0086]403、Τ0=Τ0+Χ ;其中,X為上述音頻數(shù)據(jù)包的采樣時(shí)長(zhǎng)。
[0087]例如X可等于I秒、2秒、3秒或其它時(shí)長(zhǎng)。[0088]404、從緩沖區(qū)讀取上述音頻數(shù)據(jù)包進(jìn)行播放。
[0089]405、T1=T1+Y ;其中,Y為上述音頻數(shù)據(jù)包的播放時(shí)長(zhǎng)(上述音頻數(shù)據(jù)包的播放時(shí)長(zhǎng)等于從上一個(gè)音頻數(shù)據(jù)包播放完的時(shí)刻到上述音頻數(shù)據(jù)包播放完的時(shí)刻之間的時(shí)長(zhǎng))。
[0090]406、計(jì)算當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值Τ,返回步驟402。
[0091]其中,T=(Tl-TO) *β。
[0092]下面舉例一個(gè)具體的應(yīng)用場(chǎng)景。
[0093]假設(shè)第二終端設(shè)備當(dāng)前接收并播放了 5個(gè)音頻數(shù)據(jù)包,
[0094]當(dāng)前累計(jì)出的Tl=20,Τ0=15 ;抖動(dòng)風(fēng)險(xiǎn)系數(shù)β為1.15。
[0095]根據(jù)公式T= (Tl-TO)* β計(jì)算當(dāng)前網(wǎng)絡(luò)抖動(dòng)值為5.75秒,因此第二終端設(shè)備可以在上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值5.75秒之后,才開(kāi)始從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放。
[0096]其中,抖動(dòng)風(fēng)險(xiǎn)系數(shù)β可根據(jù)網(wǎng)絡(luò)卡頓和延遲時(shí)長(zhǎng)確定。例如可以根據(jù)第一權(quán)值和網(wǎng)絡(luò)卡頓時(shí)長(zhǎng)獲取第一抖動(dòng)風(fēng)險(xiǎn)系數(shù)β 1,根據(jù)第二權(quán)值和網(wǎng)絡(luò)延遲時(shí)長(zhǎng)獲取第二抖動(dòng)風(fēng)險(xiǎn)系數(shù)β 2,可將第一抖動(dòng)風(fēng)險(xiǎn)系數(shù)β I和第二抖動(dòng)風(fēng)險(xiǎn)系數(shù)β 2之和確定為抖動(dòng)風(fēng)險(xiǎn)系數(shù)β,如網(wǎng)絡(luò)卡頓時(shí)長(zhǎng)為0.8秒,設(shè)置第一權(quán)值為0.3,將網(wǎng)絡(luò)卡斷時(shí)長(zhǎng)和第一權(quán)值相乘得到第一抖動(dòng)風(fēng)險(xiǎn)系數(shù)β I為0.24。網(wǎng)絡(luò)延遲時(shí)長(zhǎng)為1.3秒,設(shè)置第二權(quán)值為0.7,將網(wǎng)絡(luò)延遲時(shí)長(zhǎng)和第二權(quán)值相乘得到第二抖動(dòng)風(fēng)險(xiǎn)系數(shù)β 2為0.91,最后將第一抖動(dòng)風(fēng)險(xiǎn)系數(shù)β I和第二抖動(dòng)風(fēng)險(xiǎn)系數(shù)β 2相加1.15,則此時(shí)的抖動(dòng)風(fēng)險(xiǎn)系數(shù)β為1.15。
[0097]當(dāng)然,也可直接根據(jù)經(jīng)驗(yàn)值確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0098]下面還提供用于實(shí)施上述方案的相關(guān)裝置。
[0099]參見(jiàn)圖5,本發(fā)明實(shí)施例還提供一種終端設(shè)備500,可以包括:接收緩沖單元510、累計(jì)單元520和緩沖播放單元530。
[0100]接收緩沖單元510,用于將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0101]在本發(fā)明一些可能實(shí)施例方式中,接收緩沖單元510具體可用于將接收到的歸屬于某音頻文件(為便于引述,可稱之第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0102]累計(jì)單元520,用于累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0103]緩沖播放單元530,若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放的音頻數(shù)據(jù)包進(jìn)行播放,其中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。
[0104]其中,音頻數(shù)據(jù)包的采樣時(shí)長(zhǎng)即是音頻數(shù)據(jù)包的理論播放時(shí)長(zhǎng)。
[0105]在本發(fā)明一些可能的實(shí)施例方式中,累計(jì)單元520具體用于,累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總米樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0106]在本發(fā)明另一些可能的實(shí)施例方式中,累計(jì)單元520具體用于,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于上述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0107]在本發(fā)明又一些可能的實(shí)施例方式中,累計(jì)單元520具體用于,累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的歸屬于上述第一音頻文件的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0108]在本發(fā)明一些可能的實(shí)施例方式中,累計(jì)單元520具體用于,累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總米樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0109]在本發(fā)明一些可能的實(shí)施例方式中,緩沖播放單元530具體用于,將接收到的歸屬于第一音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū);
[0110]其中,累計(jì)單元520可具體用于,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于上述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0111]在本發(fā)明一些可能的實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)單元累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)單元累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值;或者,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)單元累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)單元累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0112]在本發(fā)明一些可能的實(shí)施例方式中,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍為0.8至
1.5。
[0113]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0114]例如,第一閾值可等于I個(gè)、2個(gè)、3個(gè)、5個(gè)、10個(gè)、20個(gè)或其它值。
[0115]舉例來(lái)說(shuō),第二閾值可等于O秒、I秒、2秒、3秒、5秒或其它值。
[0116]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大?;蛘?,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘?,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0117]可以理解的是,本實(shí)施例的終端設(shè)備500的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過(guò)程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
[0118]可以看出,本實(shí)施例終端設(shè)備500累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制而言,是有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響的,可以獲得很好的播放體驗(yàn)。
[0119]參見(jiàn)圖6,圖6是本發(fā)明另一實(shí)施例提供的終端設(shè)備600的結(jié)構(gòu)框圖。
[0120]其中,終端設(shè)備600可以包括:至少一個(gè)處理器601,至少一個(gè)網(wǎng)絡(luò)接口 604或者其他用戶接口 603,存儲(chǔ)器605,至少一個(gè)通信總線602。通信總線602用于實(shí)現(xiàn)這些組件之間的連接通信。其中,該終端設(shè)備600可選的包含用戶接口 603,包括:顯示器(例如,觸摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等)、點(diǎn)擊設(shè)備(例如,鼠標(biāo),軌跡球(trackball)觸感板或觸摸屏等)、攝像頭和/或拾音裝置等。
[0121]其中,存儲(chǔ)器602可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器601提供指令和數(shù)據(jù)。存儲(chǔ)器602中的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器(NVRAM)。
[0122]在一些實(shí)施方式中,存儲(chǔ)器605存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴(kuò)展集:
[0123]操作系統(tǒng)6051,包含各種系統(tǒng)程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù);
[0124]應(yīng)用程序模塊6052,包含各種應(yīng)用程序,用于實(shí)現(xiàn)各種應(yīng)用業(yè)務(wù)。
[0125]應(yīng)用程序模塊6052中包括但不限于接收緩沖單元510、累計(jì)單元520和緩沖播放單元530等。
[0126]在本發(fā)明實(shí)施例中,通過(guò)調(diào)用存儲(chǔ)器605存儲(chǔ)的程序或指令,處理器601將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。
[0127]在本發(fā)明一些可能的實(shí)施例方式中,處理器601將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)可以包括:將接收到的歸屬于某音頻文件(為便于引述,可稱之為第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0128]其中,音頻數(shù)據(jù)包的采樣時(shí)長(zhǎng)即是音頻數(shù)據(jù)包的理論播放時(shí)長(zhǎng)。
[0129]在本發(fā)明一些可能的實(shí)施例方式中,處理器601累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0130]在本發(fā)明的另一些可能的實(shí)施例方式中,處理器601若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。處理器601上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于上述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0131]在本發(fā)明的又一些可能的實(shí)施例方式中,處理器601若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。其中,處理器601上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的歸屬于上述第一音頻文件的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0132]在本發(fā)明一些可能實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值。或,上述第三時(shí)長(zhǎng)等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0133]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0134]例如,第一閾值可等于I個(gè)、2個(gè)、3個(gè)、5個(gè)、10個(gè)、20個(gè)或其它值。
[0135]舉例來(lái)說(shuō),第二閾值可等于O秒、I秒、2秒、3秒、5秒或其它值。
[0136]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小。或者,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0137]可以理解的是,本實(shí)施例的終端設(shè)備600的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過(guò)程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。
[0138]可以看出,本實(shí)施例終端設(shè)備600累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮到了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨著當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn),這樣機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
[0139]如圖7所示,為了便于說(shuō)明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。圖7所示終端設(shè)備700可以為手機(jī)、平板電腦、個(gè)人數(shù)字助理(PDA, Personal Digital Assistant)、銷售終端(POS,Point of Sales)、車載電腦等任意終端設(shè)備,下面主要以終端設(shè)備700為手機(jī)為例:
[0140]其中,圖7示出的是與本發(fā)明實(shí)施例提供的終端相關(guān)的手機(jī)的部分結(jié)構(gòu)的框圖。參考圖7,手機(jī)包括:射頻(Radio Frequency,RF)電路710、存儲(chǔ)器720、輸入單元730、無(wú)線保真(wireless fidelity, WiFi)模塊770、顯示單元740、傳感器750、音頻電路760、處理器780、以及電源790等部件。
[0141]其中,本領(lǐng)域技術(shù)人員可以理解,圖7中示出的手機(jī)結(jié)構(gòu)并不構(gòu)成對(duì)手機(jī)的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0142]下面結(jié)合圖7對(duì)手機(jī)的各個(gè)構(gòu)成部件進(jìn)行具體的介紹:
[0143]RF電路710可用于在收發(fā)信息或通話過(guò)程中,信號(hào)的接收和發(fā)送,特別地,將基站的下行信息接收后,給處理器780處理;另外,將設(shè)計(jì)上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路包括但不限于天線、至少一個(gè)放大器、收發(fā)信機(jī)、耦合器、低噪聲放大器(Low NoiseAmplifier, LNA)、雙工器等。此外,RF電路70還可以通過(guò)無(wú)線通信與網(wǎng)絡(luò)和其他設(shè)備通信。上述無(wú)線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(Global System of Mobile communication, GSM)、通用分組無(wú)線服務(wù)(General PacketRadio Service, GPRS)、碼分多址(Code Division Multiple Access, CDMA)、寬帶碼分多址(Wideband Code Division Multiple Access, WCDMA)、長(zhǎng)期演進(jìn)(Long Term Evolution,LTE))、電子郵件、短消息服務(wù)(Short Messaging Service, SMS)等。
[0144]其中,存儲(chǔ)器720可用于存儲(chǔ)軟件程序以及模塊,處理器780通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器720的軟件程序以及模塊,從而執(zhí)行手機(jī)的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器720可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(如音頻數(shù)據(jù)、電話本等)等。此外,存儲(chǔ)器720可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
[0145]輸入單元730可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與手機(jī)510的用戶設(shè)置以及功能控制有關(guān)的鍵信號(hào)輸入。具體地,輸入單元730可包括觸控面板731以及其他輸入設(shè)備732。觸控面板731,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸控面板731上或在觸控面板731附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動(dòng)相應(yīng)的連接裝置。可選的,觸控面板731可包括觸摸檢測(cè)裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測(cè)裝置檢測(cè)用戶的觸摸方位,并檢測(cè)觸摸操作帶來(lái)的信號(hào),將信號(hào)傳送給觸摸控制器;觸摸控制器從觸摸檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器780,并能接收處理器780發(fā)來(lái)的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸控面板731。除了觸控面板731,輸入單元730還可以包括其他輸入設(shè)備732。具體地,其他輸入設(shè)備732可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開(kāi)關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0146]其中,顯示單元740可用于顯示由用戶輸入的信息或提供給用戶的信息以及手機(jī)的各種菜單。顯示單元740可包括顯示面板741,可選的,可以采用液晶顯示器(LiquidCrystal Display, LCD)、有機(jī)發(fā)光二極管(Organic Light-Emitting Diode, OLED)等形式來(lái)配置顯示面板741。進(jìn)一步的,觸控面板731可覆蓋顯示面板741,當(dāng)觸控面板731檢測(cè)到在其上或附近的觸摸操作后,傳送給處理器780以確定觸摸事件的類型,隨后處理器780根據(jù)觸摸事件的類型在顯示面板741上提供相應(yīng)的視覺(jué)輸出。雖然在圖7中,觸控面板731與顯示面板741是作為兩個(gè)獨(dú)立的部件來(lái)實(shí)現(xiàn)手機(jī)的輸入和輸入功能,但是在某些實(shí)施例中,可以將觸控面板731與顯示面板741集成而實(shí)現(xiàn)手機(jī)的輸入和輸出功能。
[0147]其中,終端設(shè)備700還可包括至少一種傳感器750,比如光傳感器、運(yùn)動(dòng)傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來(lái)調(diào)節(jié)顯示面板741的亮度,接近傳感器可在手機(jī)移動(dòng)到耳邊時(shí),關(guān)閉顯示面板741和/或背光。作為運(yùn)動(dòng)傳感器的一種,加速計(jì)傳感器可檢測(cè)各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測(cè)出重力的大小及方向,可用于識(shí)別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動(dòng)識(shí)別相關(guān)功能(比如計(jì)步器、敲擊)等;至于手機(jī)還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。
[0148]音頻電路760、揚(yáng)聲器761,傳聲器762可提供用戶與手機(jī)之間的音頻接口。音頻電路760可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號(hào),傳輸?shù)綋P(yáng)聲器761,由揚(yáng)聲器761轉(zhuǎn)換為聲音信號(hào)輸出;另一方面,傳聲器762將收集的聲音信號(hào)轉(zhuǎn)換為電信號(hào),由音頻電路760接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器780處理后,經(jīng)RF電路710以發(fā)送給比如另一手機(jī),或者將音頻數(shù)據(jù)輸出至存儲(chǔ)器720以便進(jìn)一步處理。
[0149]WiFi屬于短距離無(wú)線傳輸技術(shù),手機(jī)通過(guò)WiFi模塊770可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁(yè)和訪問(wèn)流式媒體等,它為用戶提供了無(wú)線的寬帶互聯(lián)網(wǎng)訪問(wèn)。雖然圖7示出了WiFi模塊770,但是可以理解的是,其并不屬于手機(jī)510的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0150]處理器780是手機(jī)的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過(guò)運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器720內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器720內(nèi)的數(shù)據(jù),執(zhí)行手機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器780可包括一個(gè)或多個(gè)處理單元;優(yōu)選的,處理器780可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無(wú)線通信??梢岳斫獾氖牵鲜稣{(diào)制解調(diào)處理器也可以不集成到處理器780中。
[0151]終端設(shè)備700還包括給各個(gè)部件供電的電源790 (比如電池)。
[0152]優(yōu)選的,電源可以通過(guò)電源管理系統(tǒng)與處理器780邏輯相連,從而通過(guò)電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。盡管未示出,終端設(shè)備700還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。
[0153]在本發(fā)明實(shí)施例中,該用戶終端所包括的處理器780還具有以下功能:
[0154]將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū);累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)上述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從上述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。
[0155]在本發(fā)明一些可能的實(shí)施例方式中,處理器780將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū)可以包括:將接收到的歸屬于某音頻文件(為便于引述,可稱之為第一音頻文件,其中,第一音頻文件可為直播音頻文件或非直播音頻文件)的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。
[0156]其中,音頻數(shù)據(jù)包的采樣時(shí)長(zhǎng)即是音頻數(shù)據(jù)包的理論播放時(shí)長(zhǎng)。
[0157]在本發(fā)明一些可能的實(shí)施例方式中,處理器780累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0158]在本發(fā)明的另一些可能的實(shí)施例方式中,處理器780若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。處理器780上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于上述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0159]在本發(fā)明的又一些可能的實(shí)施例方式中,處理器780若上述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),具體包括:將接收到的歸屬于某音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū)。其中,處理器780上述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)可包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從上述緩沖區(qū)中讀取出進(jìn)行播放的歸屬于上述第一音頻文件的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
[0160]在本發(fā)明一些可能實(shí)施例方式中,上述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值?;?,上述第三時(shí)長(zhǎng)等于上述累計(jì)出的上述總播放時(shí)長(zhǎng)減上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
[0161]舉例來(lái)說(shuō),上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍可為0.8至1.5。當(dāng)然β的取值亦可為其它范圍,例如β還可取值為1、1.6,1.7,1.8、2、2.5,2.8、3或其它值。
[0162]例如,第一閾值可等于I個(gè)、2個(gè)、3個(gè)、5個(gè)、10個(gè)、20個(gè)或其它值。
[0163]舉例來(lái)說(shuō),第二閾值可等于O秒、I秒、2秒、3秒、5秒或其它值。
[0164]在本發(fā)明一些可能的實(shí)施例方式中,可根據(jù)上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值和/或音頻播放卡頓來(lái)確定抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。例如上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘?,上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越大,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越小?;蛘撸鲜隼塾?jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)的差值越小,上述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β越大。
[0165]可以理解的是,本實(shí)施例的終端設(shè)備700的各功能模塊的功能可根據(jù)上述方法實(shí)施例中的方法具體實(shí)現(xiàn),其具體實(shí)現(xiàn)過(guò)程可以參照上述方法實(shí)施例的相關(guān)描述,此處不再贅述。[0166]可以看出,本實(shí)施例終端設(shè)備700累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng);若上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或上述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,當(dāng)緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于上述累計(jì)出的上述總播放時(shí)長(zhǎng)和上述累計(jì)出的上述總采樣時(shí)長(zhǎng)得到。由于累計(jì)出了當(dāng)前已經(jīng)接收且已經(jīng)從緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),而當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于當(dāng)前累計(jì)出的上述總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的上述總采樣時(shí)長(zhǎng)得到,在進(jìn)行音頻緩沖時(shí)緩沖的采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值,由于網(wǎng)絡(luò)抖動(dòng)估算值充分考慮了網(wǎng)絡(luò)延時(shí)累積效應(yīng),并且網(wǎng)絡(luò)抖動(dòng)估算值會(huì)隨當(dāng)前累計(jì)出的總播放時(shí)長(zhǎng)和當(dāng)前累計(jì)出的總采樣時(shí)長(zhǎng)動(dòng)態(tài)變化,通過(guò)實(shí)踐發(fā)現(xiàn)這機(jī)制相對(duì)于按照固定時(shí)長(zhǎng)進(jìn)行緩沖的現(xiàn)有機(jī)制,有利于盡量消除累計(jì)網(wǎng)絡(luò)抖動(dòng)對(duì)音頻播放流暢性和播放聲音延遲的影響,獲得很好的播放體驗(yàn)。
[0167]本發(fā)明實(shí)施例還提供一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,該計(jì)算機(jī)存儲(chǔ)介質(zhì)可存儲(chǔ)有程序,該程序執(zhí)行時(shí)包括上述方法實(shí)施例中記載的音頻處理方法的部分或全部步驟。
[0168]需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
[0169]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0170]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置,可通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性或其它的形式。
[0171]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0172]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0173]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0174]以上所述,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種音頻處理方法,其特征在于,包括: 將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū); 累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng); 若所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或等于第二閾值,則當(dāng)所述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從所述緩沖區(qū)讀取出未播放音頻數(shù)據(jù)包進(jìn)行播放,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于所述累計(jì)出的所述總播放時(shí)長(zhǎng)和所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到。
2.根據(jù)權(quán)利要求1所述的音頻處理方法,其特征在于,所述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),包括:累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū),包括:將接收到的歸屬于第一音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū);其中,所述累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng),包括:累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的,歸屬于所述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于所述累計(jì)出的總播放時(shí)長(zhǎng)減所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到的差值。
5.根據(jù)權(quán)利要求1至3 任一項(xiàng)所述的方法,其特征在于,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于所述累計(jì)出的所述總播放時(shí)長(zhǎng)減所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍為0.8至 1.5。
7.根據(jù)權(quán)利要求6所述的音頻處理方法,其特征在于, 所述第一閾值等于I個(gè);或者第二閾值等于O秒。
8.—種終端設(shè)備,其特征在于,包括: 接收緩沖單元,用于將接收到的音頻數(shù)據(jù)包緩沖到緩沖區(qū); 累計(jì)單元,用于累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出來(lái)進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng); 緩沖播放單元,若所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的數(shù)量少于第一閾值,或所述緩沖區(qū)當(dāng)前緩沖的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)小于或者等于第二閾值,則當(dāng)所述緩沖區(qū)緩沖的接收到的未播放音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)大于或者等于當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值之后,從所述緩沖區(qū)讀取出未播放的音頻數(shù)據(jù)包進(jìn)行播放,其中,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值基于所述累計(jì)出的所述總播放時(shí)長(zhǎng)和所述累計(jì)出的所述總采樣時(shí)長(zhǎng)得到。
9.根據(jù)權(quán)利要求8所述的終端設(shè)備,其特征在于, 所述累計(jì)單元具體用于,累計(jì)出從預(yù)設(shè)時(shí)刻開(kāi)始到當(dāng)前時(shí)刻為止,已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出進(jìn)行播放的音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
10.根據(jù)權(quán)利要求8所述的終端設(shè)備,其特征在于, 所述接收緩沖單元具體用于,將接收到的歸屬于第一音頻文件的音頻數(shù)據(jù)包緩沖到緩沖區(qū); 其中,所述累計(jì)單元具體用于,累計(jì)出當(dāng)前已經(jīng)接收且已經(jīng)從所述緩沖區(qū)中讀取出進(jìn)行播放的,歸屬于所述第一音頻文件的所有音頻數(shù)據(jù)包的總采樣時(shí)長(zhǎng)和總播放時(shí)長(zhǎng)。
11.根據(jù)權(quán)利要求8至10任一項(xiàng)所述的終端設(shè)備,其特征在于, 所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于所述累計(jì)單元累計(jì)出的所述總播放時(shí)長(zhǎng)減所述累計(jì)單元累計(jì)出的所述總采樣時(shí)長(zhǎng)得到的差值;或者,所述當(dāng)前網(wǎng)絡(luò)抖動(dòng)估算值等于所述累計(jì)單元累計(jì)出的所述總播放時(shí)長(zhǎng)減所述累計(jì)單元累計(jì)出的所述總采樣時(shí)長(zhǎng)得到的差值乘以抖動(dòng)風(fēng)險(xiǎn)系數(shù)β。
12.根據(jù)權(quán)利要求11所述的終端設(shè)備,其特征在于,所述抖動(dòng)風(fēng)險(xiǎn)系數(shù)β的取值范圍為 0.8 至 1.5。
【文檔編號(hào)】G11B20/10GK103594103SQ201310573180
【公開(kāi)日】2014年2月19日 申請(qǐng)日期:2013年11月15日 優(yōu)先權(quán)日:2013年11月15日
【發(fā)明者】曹木勇, 李俊明, 龍興平, 李廣發(fā) 申請(qǐng)人:騰訊科技(成都)有限公司