本發(fā)明涉及多媒體技術(shù)領(lǐng)域,特別涉及一種音視頻播放方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,用戶獲取多媒體信息的渠道越來越便捷,各種多媒體播放器呈現(xiàn)飛速發(fā)展的趨勢,音視頻同步播放是體現(xiàn)多媒體播放器的服務(wù)質(zhì)量的一項重要內(nèi)容。
音視頻同步是指要保持音頻幀和視頻幀時間上的同步關(guān)系,可以通過減小音頻幀和視頻幀的播放時間差來實現(xiàn)。由于每個音頻幀帶有音頻時間戳,每個視頻幀帶有視頻時間戳,音視頻同步方法主要使用的是時間戳同步方法,即首先選擇一個參考時鐘(要求參考時鐘上的時間是線性遞增的);生成音視頻數(shù)據(jù)流時依據(jù)參考時鐘上的時間給每個音頻數(shù)據(jù)塊和視頻數(shù)據(jù)塊都打上時間戳(一般包括開始時間和結(jié)束時間);在播放時,讀取數(shù)據(jù)塊上的時間戳,同時參考當前參考時鐘上的時間來安排播放:如果數(shù)據(jù)塊的開始時間大于當前參考時鐘上的時間,則不急于播放該數(shù)據(jù)塊,直到參考時鐘達到數(shù)據(jù)塊的開始時間;如果數(shù)據(jù)塊的開始時間小于當前參考時鐘上的時間,則盡快播放這塊數(shù)據(jù),以使播放進度追上參考時鐘。
多媒體播放器對于接收的音頻幀和視頻幀,都需要進行解碼后才能播放,多媒體播放器通過音頻設(shè)備播放音頻幀,通過視頻設(shè)備播放視頻幀。多媒體播放器在處理音頻幀時,主要有兩種方式:一種是多媒體播放器需要將音頻幀解碼還原成原始音頻數(shù)據(jù),即PCM(Pulse Code Modulation,線性脈沖編碼調(diào)制)音頻數(shù)據(jù)之后,再將PCM音頻數(shù)據(jù)推送給音頻設(shè)備進行播放,解碼是通過播放器內(nèi)置的解碼器完成;另一種是多媒體播放器不需要將音頻幀解碼還原成原始音頻數(shù)據(jù),直接將音頻幀輸出給音頻設(shè)備,由音頻設(shè)備自行解碼播放,這種方式也稱為音頻直通輸出模式。
對于處于音頻直通輸出模式下的多媒體播放器來說,實現(xiàn)音視頻同步播放是一個技術(shù)難點。目前,有的多媒體播放器沒有進行音視頻同步處理,例如:幾乎沒有多媒體播放器支持杜比EAC3音頻的同步處理。由此可見,現(xiàn)有的多媒體播放器在音頻直通輸出模式下,缺乏實現(xiàn)音視頻同步的播放方法,造成多媒體播放器的播放效果不佳。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種音視頻播放方法及裝置,以實現(xiàn)多媒體播放器在音頻直通模式下,音頻幀和視頻幀的同步播放,提高多媒體播放器的播放效果。
為達到上述目的,本發(fā)明實施例公開了一種音視頻播放方法及裝置,應(yīng)用于處于音頻直通模式下的多媒體播放器,所述方法包括:
每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,計算當前音頻緩沖區(qū)的緩沖時間,其中,所述當前音頻緩沖區(qū)存儲的音頻幀為按照預設(shè)封裝標準封裝后的音頻幀;
根據(jù)所述緩沖時間以及第一目標時間戳,確定音頻播放時間,其中,所述第一目標時間戳為所述音頻緩沖區(qū)當前存儲的音頻幀中時間戳最小的音頻幀的時間戳;
根據(jù)所述音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,其中,第二目標時間戳為所述視頻緩沖區(qū)當前存儲的視頻幀中時間戳最小的視頻幀的時間戳;
如果滿足,將視頻緩沖區(qū)當前存儲的視頻幀推送給視頻設(shè)備播放,并將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備播放。
可選的,所述預設(shè)封裝標準為:IEC 61937標準;所述音頻幀為:基于EAC3格式的音頻幀。
可選的,所述計算當前音頻緩沖區(qū)的緩沖時間,包括:
根據(jù)公式:計算當前音頻緩沖區(qū)的緩沖時間;
其中,T為當前音頻緩沖區(qū)的緩沖時間,M為所述音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),S為針對音頻幀的采樣率,N為單個音頻幀的字節(jié)數(shù)。
可選的,所述根據(jù)所述緩沖時間以及第一目標時間戳,確定音頻播放時間,包括:
將所述緩沖時間與所述第一目標時間戳對應(yīng)的時間之和確定為音頻播放時間。
可選的,所述根據(jù)所述音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,包括:
判斷所述音頻播放時間是否大于所述第二目標時間戳對應(yīng)的時間,如果是,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
為達到上述目的,本發(fā)明實施例還公開了一種音視頻播放裝置,應(yīng)用于處于音頻直通模式下的多媒體播放器,所述裝置包括:
計算模塊,用于每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,計算當前音頻緩沖區(qū)的緩沖時間,其中,所述當前音頻緩沖區(qū)存儲的音頻幀為按照預設(shè)封裝標準封裝后的音頻幀;
第一確定模塊,用于根據(jù)所述緩沖時間以及第一目標時間戳,確定音頻播放時間,其中,所述第一目標時間戳為所述音頻緩沖區(qū)當前存儲的音頻幀中時間戳最小的音頻幀的時間戳;
第二確定模塊,用于根據(jù)所述音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,其中,第二目標時間戳為所述視頻緩沖區(qū)當前存儲的視頻幀中時間戳最小的視頻幀的時間戳;
播放模塊,用于在當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件的情況下,將視頻緩沖區(qū)當前存儲的視頻幀推送給視頻設(shè)備播放,并將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備播放。
可選的,所述預設(shè)封裝標準為:IEC 61937標準;所述音頻幀為:基于EAC3格式的音頻幀。
可選的,所述計算模塊,具體用于:
每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,根據(jù)公式:計算當前音頻緩沖區(qū)的緩沖時間;
其中,T為當前音頻緩沖區(qū)的緩沖時間,M為所述音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),S為針對音頻幀的采樣率,N為單個音頻幀的字節(jié)數(shù)。
可選的,所述第一確定模塊,具體用于:
根據(jù)所述緩沖時間以及第一目標時間戳,將所述緩沖時間與所述第一目標時間戳對應(yīng)的時間之和確定為音頻播放時間。
可選的,所述第二確定模塊,具體用于:
根據(jù)所述音頻播放時間以及第二目標時間戳,判斷所述音頻播放時間是否大于所述第二目標時間戳對應(yīng)的時間,如果是,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
由上述的技術(shù)方案可見,本發(fā)明實施例提供的音視頻播放方法及裝置,每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,計算當前音頻緩沖區(qū)的緩沖時間,其中,當前音頻緩沖區(qū)存儲的音頻幀為經(jīng)過按照預設(shè)封裝標準封裝后的音頻幀;根據(jù)緩沖時間以及第一目標時間戳,確定音頻播放時間,其中,第一目標時間戳為音頻緩沖區(qū)當前存儲的音頻幀中時間戳最小的音頻幀的時間戳;根據(jù)音頻播放時間以及第二目標時間戳,確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,其中,第二目標時間戳為視頻緩沖區(qū)當前存儲的視頻幀中時間戳最小的視頻幀的時間戳;如果滿足,將視頻緩沖區(qū)當前存儲的視頻幀推送給視頻設(shè)備播放,并將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備播放。
應(yīng)用本發(fā)明實施例,將滿足同步播放條件的音頻幀和視頻幀同時播放,實現(xiàn)了多媒體播放器在音頻直通模式下,音視頻的同步播放,提高了多媒體播放器的播放效果。
當然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種音視頻播放方法的流程示意圖;
圖2為本發(fā)明實施例提供的一種音視頻播放裝置的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種音視頻播放方法及裝置,應(yīng)用于處于音頻直通模式下的多媒體播放器,以下分別進行詳細說明。
參見圖1,圖1為本發(fā)明實施例提供的一種音視頻播放方法的流程示意圖,包括如下步驟:
S101,每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,計算當前音頻緩沖區(qū)的緩沖時間。
需要說明的是,當前音頻緩沖區(qū)存儲的音頻幀為按照預設(shè)封裝標準封裝后的音頻幀。
示例性的,假設(shè)預設(shè)同步時長為600ms,則每隔600ms,計算當前音頻緩沖區(qū)的緩沖時間;或者,假設(shè)音頻時長為2小時,預設(shè)同步時間點分別為音頻的第10分鐘、第30分鐘、第60分鐘,第90分鐘和第105分鐘,則每到達第10分鐘、第30分鐘、第60分鐘,第90分鐘和第105分鐘時,計算當前音頻緩沖區(qū)的緩沖時間。
具體的,預設(shè)封裝標準為:IEC 61937標準,音頻幀為:基于EAC3格式的音頻幀。IEC 61937標準是由國際電工委員會(International Electro technical Commission,IEC)設(shè)計的,可用于封裝音頻幀的國際標準,因此,按照IEC 61937標準封裝的音頻幀具有通用性,用于播放音頻幀的音頻設(shè)備都支持對按照IEC 61937標準封裝的音頻幀的解封裝以及解碼播放。音頻格式是指音頻文件的編碼技術(shù),有多種實現(xiàn)方式,例如:AC3(Audio Coding-3,音頻編碼3)、AAC(Advanced Audio Coding,高級音頻編碼)、EAC3(Enhanced AC-3,增強版AC-3)等等,不同格式的音頻幀對應(yīng)的采樣率以及編解碼方式不一樣。按照預設(shè)封裝標準封裝音頻幀,會在音頻幀前面加一個包頭字段,通過獲取包頭信息,使得音頻設(shè)備無需解碼音頻幀,就能獲得音頻幀的音頻格式以及音頻幀的起止字節(jié)位置,從而提高音頻幀的解碼速度以及準確度。
例如:按照IEC 61937標準封裝EAC3格式的音頻幀,則會在EAC3格式的音頻幀前面加一個包頭,一個包頭的長度為8個字節(jié),包頭中包括分別占用兩個字節(jié)的Pa,Pb,Pc和Pd,其中,Pa和Pb為同步字節(jié),Pc為Burst(突發(fā))信息,用于記錄數(shù)據(jù)類型,Pd為負載的長度信息。當檢測到Pa值為0xF872,Pb值為0x4E1F時,就可以獲得音頻幀的起始位置為Pa字節(jié)所在位置,當檢測到Pc值為0x0015(即21)時,可以確定該音頻幀的音頻格式為EAC3格式,并且可以確定該音頻幀的音頻幀長度為6144*4,通過計算包頭第8字節(jié)的位置與6144*4的和值,獲得音頻幀的終止位置。
在實際應(yīng)用中,計算當前音頻緩沖區(qū)的緩沖時間,可以根據(jù)公式:計算當前音頻緩沖區(qū)的緩沖時間;
其中,T為當前音頻緩沖區(qū)的緩沖時間,M為音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),S為針對音頻幀的采樣率,N為單個音頻幀的字節(jié)數(shù)。
需要說明的是,計算當前音頻緩沖區(qū)的緩沖時間可以根據(jù)當前緩沖區(qū)的音頻幀的個數(shù)A以及每個音頻幀的緩沖時間B,計算當前音頻緩沖區(qū)的緩沖時間T=A×B,其中,M為音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),L為按照預設(shè)封裝標準封裝后的一個音頻幀對應(yīng)的采樣樣本個數(shù),N為單個音頻幀的字節(jié)數(shù);其中,S為針對音頻幀的采樣率,故而,
相比于現(xiàn)有的處于音頻直通模式下的多媒體播放器,對未經(jīng)封裝的音頻幀的計算緩沖時間公式:M為音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),P為一個未經(jīng)封裝的音頻幀的字節(jié)數(shù),本發(fā)明實施例考慮采樣率以及封裝后的一個音頻幀對應(yīng)的采樣樣本個數(shù)對當前音頻緩沖區(qū)的緩沖時間的影響,使得當前音頻緩沖區(qū)的緩沖時間的計算結(jié)果更為準確。
需要說明的是,采集的原始聲音信號為連續(xù)變化的模擬信號,因此,需要將模擬信號經(jīng)過采樣、量化、編碼,以獲得數(shù)字信號,便于多媒體播放器對音頻數(shù)據(jù)的傳輸和處理。由于,人耳所能聽到的聲音信號的頻率范圍為20Hz-20KHZ,因此,音頻的最大帶寬是20KHZ,根據(jù)奈魁斯特(NYQUIST)采樣定理,用兩倍于一個正弦波的頻繁率進行采樣就能完全真實地還原該波形。所以,對于聲音信號而言,要想對數(shù)字信號進行還原成模擬信號,必須將采樣率定為40KHz以上。一般來說,對于EAC3格式的音頻幀的采樣率為48KHz,48KHz采樣率表示用48000個數(shù)據(jù)來描述1秒鐘的聲音波形。
假設(shè),音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù)為100KB,針對音頻幀的采樣率為48KHz,單個音頻幀的字節(jié)數(shù)為4B,則當前音頻緩沖區(qū)的緩沖時間為521ms。
S102,根據(jù)緩沖時間以及第一目標時間戳,確定音頻播放時間。
需要說明的是,第一目標時間戳為音頻緩沖區(qū)當前存儲的音頻幀中時間戳最小的音頻幀的時間戳,音頻幀是按照時間戳從小到大依次存儲于音頻緩沖區(qū),在播放時,也是根據(jù)時間戳從小到大依次播放,因此,第一目標時間戳對應(yīng)的音頻幀,為音頻緩沖區(qū)中最先播放的音頻幀,其余的音頻幀按時間戳從小到大依次播放。
具體的,根據(jù)緩沖時間以及第一目標時間戳,將緩沖時間與第一目標時間戳對應(yīng)的時間之和確定為音頻播放時間。
假設(shè),當前音頻緩沖區(qū)的緩沖時間為521ms,第一目標時間戳對應(yīng)的時間為23ms,則將521+23=544ms確定為音頻播放時間。
S103,根據(jù)音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,如果滿足,執(zhí)行S104。
需要說明的是,第二目標時間戳為視頻緩沖區(qū)當前存儲的視頻幀中時間戳最小的視頻幀的時間戳,即第二目標時間戳對應(yīng)的視頻幀為視頻緩沖區(qū)中最先播放的視頻幀。
具體的,根據(jù)音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,可以為:
判斷音頻播放時間是否大于第二目標時間戳對應(yīng)的時間,如果是,確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
需要說明的是,在音頻播放時間大于第二目標時間戳對應(yīng)的時間的情況下,進一步的,還可以考慮音頻播放時間與第二目標時間戳對應(yīng)的時間之差是否小于預設(shè)閾值,如果是,則確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
可以理解的是,第二目標時間戳對應(yīng)的時間為第二目標時間戳對應(yīng)的視頻幀的播放時間,選取音頻播放時間為參考時間,通過建立音頻幀播放時間與參考時間的對應(yīng)關(guān)系,以及視頻幀時間戳與參考時間的對應(yīng)關(guān)系,確定音頻幀和視頻幀的相對時間關(guān)系,從而確定音頻幀和視頻幀的播放時間,以實現(xiàn)音視頻的同步播放。在到達音頻播放時間時,即將播放的是當前音頻緩沖區(qū)存儲的時間戳最小的音頻幀,當音頻播放時間大于第二目標時間戳對應(yīng)的時間時,說明此時視頻幀滯后于音頻幀,需要立即播放第二目標時間戳對應(yīng)的視頻幀,才能實現(xiàn)音視頻同步播放。其中,建立音頻幀時間戳與參考時間的對應(yīng)關(guān)系以及視頻幀時間戳與參考時間的對應(yīng)關(guān)系,屬于現(xiàn)有技術(shù),在此不再贅述。
假設(shè),音頻播放時間為544ms,第二目標時間戳對應(yīng)的時間為520ms,預設(shè)閾值為100ms,則根據(jù)音頻播放時間544ms大于第二目標時間戳對應(yīng)的時間520ms,可以確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件;或者,進一步考慮音頻播放時間與第二目標時間戳對應(yīng)的時間之差為:544ms-520ms=24ms,小于100ms,則可以確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
S104,將視頻緩沖區(qū)當前存儲的視頻幀推送給視頻設(shè)備播放,并將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備播放。
需要說明的是,音頻設(shè)備和視頻設(shè)備可以是同一個設(shè)備,例如:同時具有播放音頻幀和視頻幀的電視機?;蛘?,音頻設(shè)備和視頻設(shè)備可以是兩個獨立的設(shè)備,例如:音頻設(shè)備為功放設(shè)備,視頻設(shè)備為顯示器。由于本發(fā)明實施例應(yīng)用于處于音頻直通模式下的多媒體播放器,因此,音頻緩沖區(qū)當前存儲的音頻幀是未解碼的音頻幀,需要將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備,以使音頻設(shè)備解封裝、解碼后才能播放音頻幀。
示例性的,假設(shè)音頻設(shè)備為功放設(shè)備,視頻設(shè)備為顯示器,則可以借助一個數(shù)字音視頻接口,例如:HDMI(High Definition Multimedia Interface,高清晰度多媒體接口)或SPDIF(Sony/Philips Digital Interface Format,數(shù)字音頻接口),將音頻幀傳輸給功放設(shè)備,以使功放設(shè)備解封裝、解碼播放音頻幀,并且,還可以借助另一個數(shù)字音視頻接口將視頻幀傳輸給顯示設(shè)備,以使顯示設(shè)備播放視頻幀。
示例性的,假設(shè)音頻設(shè)備和視頻設(shè)備為電視機,則可以借助上述數(shù)字音視頻接口,將音頻幀和視頻幀傳輸給電視機,以使電視機播放視頻幀,并且解封裝、解碼播放音頻幀。
可見,應(yīng)用本發(fā)明實施例,將滿足同步播放條件的音頻幀和視頻幀同時播放,實現(xiàn)了多媒體播放器在音頻直通模式下,音視頻的同步播放,提高了多媒體播放器的播放效果。
與上述的方法實施例相對應(yīng),本發(fā)明實施例還提供一種音視頻播放裝置。
參見圖2,圖2為本發(fā)明實施例所提供的一種音視頻播放裝置的結(jié)構(gòu)示意圖,包括:
計算模塊201,用于每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,計算當前音頻緩沖區(qū)的緩沖時間,其中,所述當前音頻緩沖區(qū)存儲的音頻幀為按照預設(shè)封裝標準封裝后的音頻幀;
第一確定模塊202,用于根據(jù)所述緩沖時間以及第一目標時間戳,確定音頻播放時間,其中,所述第一目標時間戳為所述音頻緩沖區(qū)當前存儲的音頻幀中時間戳最小的音頻幀的時間戳;
第二確定模塊203,用于根據(jù)所述音頻播放時間以及第二目標時間戳,確定當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀是否滿足同步播放條件,其中,第二目標時間戳為所述視頻緩沖區(qū)當前存儲的視頻幀中時間戳最小的視頻幀的時間戳;
播放模塊204,用于在當前所述音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件的情況下,將視頻緩沖區(qū)當前存儲的視頻幀推送給視頻設(shè)備播放,并將音頻緩沖區(qū)當前存儲的音頻幀推送給音頻設(shè)備播放。
其中,本發(fā)明實施例的預設(shè)封裝標準為:IEC 61937標準,本發(fā)明實施例的音頻幀為:基于EAC3格式的音頻幀。
其中,計算模塊201,具體用于:
每隔預設(shè)同步時長或每到達預設(shè)同步時間點時,根據(jù)公式:計算當前音頻緩沖區(qū)的緩沖時間;
其中,T為當前音頻緩沖區(qū)的緩沖時間,M為音頻緩沖區(qū)存儲的所有音頻幀的總字節(jié)數(shù),S為針對音頻幀的采樣率,N為單個音頻幀的字節(jié)數(shù)。
其中,第一確定模塊202,具體用于:
根據(jù)緩沖時間以及第一目標時間戳,將緩沖時間與第一目標時間戳對應(yīng)的時間之和確定為音頻播放時間。
其中,第二確定模塊203,具體用于:
根據(jù)音頻播放時間以及第二目標時間戳,判斷音頻播放時間是否大于第二目標時間戳對應(yīng)的時間,如果是,確定當前音頻緩沖區(qū)存儲的音頻幀和當前視頻緩沖區(qū)存儲的視頻幀滿足同步播放條件。
可見,應(yīng)用本發(fā)明實施例,將滿足同步播放條件的音頻幀和視頻幀同時播放,實現(xiàn)了多媒體播放器在音頻直通模式下,音視頻的同步播放,提高了多媒體播放器的播放效果。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中,這里所稱得的存儲介質(zhì),如:ROM/RAM、磁碟、光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。