多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置的制造方法
【專利摘要】本發(fā)明提供了一種多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置,其中,多聲道音頻數(shù)據(jù)發(fā)送方法包括:與音頻播放器通過無線網(wǎng)絡建立連接;獲取所述音頻播放器的設備狀態(tài)信息,所述設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間;校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器;對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流;將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包;將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。上述方法和裝置降低了音頻播放器播放延時的發(fā)生概率。
【專利說明】
多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置
技術領域
[0001]本發(fā)明涉及多媒體播放技術領域,特別是涉及一種多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置。
【背景技術】
[0002]近年來市場上出現(xiàn)各種形形色色的無線音頻設備,無線的連接方式使音頻設備擺脫了導線的限制,使得音頻設備能方便地安置在各個地方,并能根據(jù)需要隨時進行調(diào)整,給用戶帶來極大方便。無線音頻設備一般包括產(chǎn)生音源的音頻服務器和播放聲音的音頻播放器,音頻播放器與音頻服務器之間通過無線網(wǎng)絡建立連接,在音頻播放過程中音頻服務器將音頻數(shù)據(jù)通過無線網(wǎng)絡傳輸至音頻播放器進播放。
[0003]不同的音頻播放器對應的聲道信息不同,但傳統(tǒng)的音頻服務器在傳輸音頻數(shù)據(jù)時一般向音頻播放器發(fā)送的是全聲道的音頻數(shù)據(jù),讓音頻播放器根據(jù)自身的聲道信息篩選所需要的音頻數(shù)據(jù)進行播放,因而在音頻數(shù)據(jù)傳輸過程中,無線網(wǎng)絡中會產(chǎn)生大量無用的音頻數(shù)據(jù),容易引起網(wǎng)絡阻塞,導致音頻播放器播放延時的發(fā)生概率高。
【發(fā)明內(nèi)容】
[0004]基于此,有必要針對上述技術問題,提供一種降低播放延時的多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置。
[0005]—種多聲道音頻數(shù)據(jù)發(fā)送方法,所述方法包括:
[0006]與音頻播放器通過無線網(wǎng)絡建立連接;
[0007]獲取所述音頻播放器的設備狀態(tài)信息,所述設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間;
[0008]校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器;
[0009]對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流;
[0010]將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包;
[0011 ] 將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。
[0012]在其中一個實施例中,在將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器的步驟之后,還包括:
[0013]發(fā)送播放控制指令至所述音頻播放器;
[0014]根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間;
[0015]判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步,若否,則進一步的獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值;
[0016]判斷所述時間差值是否大于預設閾值,若是,則再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。
[0017]在其中一個實施例中,將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包的步驟,包括:
[0018]將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù);
[0019]將所述音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,所述分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0020]一種音頻數(shù)據(jù)同步播放方法,所述方法包括:
[0021]獲取音頻服務器返回的校準后的第一系統(tǒng)時間;
[0022]接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包,所述音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包;
[0023]根據(jù)所述聲道信息對所述音頻數(shù)據(jù)包進行組包,所述音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳;
[0024]接收音頻服務器發(fā)送的播放控制指令;
[0025]以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。
[0026]在其中一個實施例中,所述根據(jù)聲道信息對所述音頻數(shù)據(jù)包進行組包的步驟,包括:
[0027]根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中;
[0028]在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,所述靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。
[0029]在其中一個實施例中,根據(jù)播放控制指令對組包后的音頻數(shù)據(jù)包進行播放的步驟之后,所述方法還包括:
[0030]獲取音頻服務器發(fā)送的時間差值;
[0031]根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù)包或丟棄對應的音頻數(shù)據(jù)包。
[0032]—種多聲道音頻數(shù)據(jù)發(fā)送裝置,其特征在于,所述裝置包括:
[0033]連接建立模塊,用于與音頻播放器通過無線網(wǎng)絡建立連接;
[0034]信息獲取模塊,用于獲取所述音頻播放器的設備狀態(tài)信息,所述設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間;
[0035]第一校準模塊,用于校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器;
[0036]音頻解碼模塊,用于對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流;
[0037]音頻拆分模塊,用于將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包;
[0038]音頻傳輸模塊,用于將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。
[0039]在其中一個實施例中,所述裝置還包括:
[0040]指令發(fā)送模塊,用于發(fā)送播放控制指令至音頻播放器;
[0041]系統(tǒng)時間獲取模塊,用于根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間;
[0042]時間差值獲取模塊,用于判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步,若否,則進一步的獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值;
[0043]第二校準模塊,用于判斷所述時間差值是否大于預設閾值,若是,則再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。
[0044]在其中一個實施例中,所述音頻拆分模塊包括:
[0045]數(shù)據(jù)流拆分模塊,用于將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù);
[0046]數(shù)據(jù)包分解模塊,用于將所述音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,所述分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0047]—種音頻數(shù)據(jù)同步播放裝置,其特征在于,所述裝置包括:
[0048]時間獲取模塊,用于獲取音頻服務器返回的校準后的第一系統(tǒng)時間;
[0049]數(shù)據(jù)包接收模塊,用于接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包,所述音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包;
[0050]數(shù)據(jù)包組包模塊,用于根據(jù)所述聲道信息對所述音頻數(shù)據(jù)包進行組包,所述音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳;
[0051]指令接收模塊,用于接收音頻服務器發(fā)送的播放控制指令;
[0052]播放控制模塊,用于以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。
[0053]在其中一個實施例中,所述數(shù)據(jù)包組包模塊包括:
[0054]第一聲道組包模塊,用于根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中;
[0055]第二聲道組包模塊,用于在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,所述靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。
[0056]在其中一個實施例中,所述裝置還包括:
[0057]差值獲取模塊,用于獲取音頻服務器發(fā)送的時間差值;
[0058]數(shù)據(jù)包處理模塊,用于根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù)包或丟棄對應的音頻數(shù)據(jù)包。
[0059]上述多聲道音頻數(shù)據(jù)發(fā)送方法、音頻數(shù)據(jù)同步播放方法及裝置,可以將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包,由于音頻服務器發(fā)送的音頻數(shù)據(jù)包與音頻播放器的聲道信息匹配,相比傳統(tǒng)的發(fā)送全聲道的音頻數(shù)據(jù)包,本方法和裝置大大減少了網(wǎng)絡中音頻數(shù)據(jù)的發(fā)送量,減少了網(wǎng)絡帶寬的消耗,使得無線網(wǎng)絡不容易引起阻塞,降低了音頻播放器播放延時的發(fā)生概率。
【附圖說明】
[0060]圖1為一個實施例中多聲道音頻數(shù)據(jù)發(fā)送方法的流程示意圖;
[0061]圖2為一個實施例中在發(fā)送播放控制指令至音頻播放器的步驟之后多聲道音頻數(shù)據(jù)發(fā)送方法的流程示意圖;
[0062]圖3為一個實施例中音頻數(shù)據(jù)同步播放方法的流程示意圖;
[0063]圖4為一個實施例中多聲道音頻數(shù)據(jù)發(fā)送裝置的結構示意圖;
[0064]圖5為另一個實施例中多聲道音頻數(shù)據(jù)發(fā)送裝置的結構示意圖;
[0065]圖6為一個實施例中音頻拆分模塊的結構不意圖;
[0066]圖7為一個實施例中音頻數(shù)據(jù)同步播放裝置的結構示意圖;
[0067]圖8為一個實施例中數(shù)據(jù)包組包模塊的結構示意圖;
[0068]圖9為另一個實施例中音頻數(shù)據(jù)同步播放裝置的結構示意圖。
【具體實施方式】
[0069]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0070]如圖1所示,在一個實施例中,提供了一種多聲道音頻數(shù)據(jù)發(fā)送方法,該方法應用在無線音頻設備中產(chǎn)生音源的音頻服務器中,該方法包括如下步驟:
[0071]步驟101,與音頻播放器通過無線網(wǎng)絡建立連接。
[0072]本實施例中,無線音頻設備包括產(chǎn)生音源的音頻服務器和音頻播放器。音頻播放器與音頻服務器通過無線網(wǎng)絡建立連接。例如,在家庭影音系統(tǒng)中,音頻播放器可以為無線音響,提供音源的服務器可以是DVD播放機。
[0073]在一個實施例中,當無線音頻設備中的一臺選擇作為音頻服務器時,其余的設備就作為了音頻播放器,音頻播放器與音頻服務器的角色是可以互換的(即一臺無線音頻設備既可以作為音頻服務器也可以作為音頻播放器)。其中,音頻服務器與音頻播放器中包含無線通信模塊,具體的,無線通信模塊包括但不限于以下至少一種:wifi模塊以及藍牙模塊等。音頻服務器啟動服務后等待音頻播放器與其配對,音頻播放器與音頻服務器配對成功后即建立了無線連接。
[0074]步驟102,獲取音頻播放器的設備狀態(tài)信息。
[0075]設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間。為了讓傳輸?shù)囊纛l數(shù)據(jù)與聲道信息相匹配,使得音頻服務器能根據(jù)音頻播放器的需求發(fā)送對應的音頻數(shù)據(jù),需要獲取音頻播放器對應的聲道信息。例如,聲道信息為2.1聲道或5.1聲道。
[0076]步驟103,校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器。
[0077]本實施例中,為了使得音頻服務器與音頻播放器都是以相同的系統(tǒng)時間為基準,保證音頻播放器能同步進行播放,音頻服務器在與音頻播放器建立連接之后發(fā)送音頻數(shù)據(jù)之前,需要對第一系統(tǒng)時間進行校準。校準第一系統(tǒng)時間是指當?shù)谝幌到y(tǒng)時間與服務器中的第二系統(tǒng)時間不相同時,將第一系統(tǒng)時間調(diào)整至與第二系統(tǒng)時間相同。
[0078]步驟104,對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流。
[0079]通過音頻服務器中的音頻解碼器將聲道壓縮的待播放音頻文件解壓成原始音頻數(shù)據(jù)流,原始音頻數(shù)據(jù)流送入聲卡后可直接進行播放。
[0080]步驟105,將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包。
[0081]步驟106,將音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。
[0082]解碼后得到的原始音頻數(shù)據(jù)流是全聲道可播放的音頻數(shù)據(jù),若直接發(fā)送全聲道的音頻數(shù)據(jù),數(shù)據(jù)量大且有許多數(shù)據(jù)是無用的,消耗了過多的網(wǎng)絡帶寬,容易造成網(wǎng)絡阻塞。
[0083]進一步的,需要對原始音頻數(shù)據(jù)流進行拆分以使得發(fā)送的音頻數(shù)據(jù)與聲道信息相匹配。例如,若原始音頻數(shù)據(jù)流是5.1聲道的音頻數(shù)據(jù),而音頻播放器中的聲道信息是2.1聲道,將5.1聲道的音頻數(shù)據(jù)拆分成與2.1聲道對應的音頻數(shù)據(jù)包。由于拆分后得到的2.1聲道音頻數(shù)據(jù)大大少于5.1聲道的音頻數(shù)據(jù),因而減少了大量無用數(shù)據(jù)在網(wǎng)絡上的傳輸,不容易產(chǎn)生網(wǎng)絡阻塞。
[0084]在一個實施例中,步驟105,將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包包括:將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù);將音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0085]本實施例中,將音頻數(shù)據(jù)分解成大小固定的音頻數(shù)據(jù)包,并對音頻數(shù)據(jù)包進行序列編號,并添加播放時間戳至對應的音頻數(shù)據(jù)包中。使得音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。將聲道相同的音頻數(shù)據(jù)包添加到同一發(fā)送隊列中,由音頻服務器的無線發(fā)射器將發(fā)送隊列中的音頻數(shù)據(jù)包發(fā)送出去。將音頻數(shù)據(jù)拆分為大小固定的音頻數(shù)據(jù)包加快了音頻數(shù)據(jù)的傳輸效率,使得音頻數(shù)據(jù)能及時傳輸至音頻播放器,降低了播放延時的發(fā)生概率。
[0086]上述多聲道音頻數(shù)據(jù)發(fā)送方法,可以將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包,由于音頻服務器發(fā)送的音頻數(shù)據(jù)包與音頻播放器的聲道信息匹配,相比傳統(tǒng)的發(fā)送全聲道的音頻數(shù)據(jù)包,本方法大大減少了網(wǎng)絡中音頻數(shù)據(jù)的發(fā)送量,減少了網(wǎng)絡帶寬的消耗,使得無線網(wǎng)絡不容易引起阻塞,降低了音頻播放器播放延時的發(fā)生概率。
[0087]如圖2所示,在一個實施例中,在步驟106,發(fā)送播放控制指令至音頻播放器的步驟之后,該方法還包括如下步驟:
[0088]步驟201,發(fā)送播放控制指令至音頻播放器。
[0089]在一個實施例中,播放控制指令包括但不限于以下至少一種:播放、暫停、停止、快進、快退以及音量調(diào)節(jié)等控制指令。
[0090]步驟202,根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間。
[0091]步驟203,判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步。若否,則進入步驟204,若是,則結束。
[0092]步驟204,獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值。
[0093]步驟205,判斷時間差值是否大于預設閾值。若是,則進入步驟206,若否,則結束。
[0094]步驟206,再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。
[0095]在播放過程中,由于無線網(wǎng)絡的抖動或延時,容易再次出現(xiàn)第一系統(tǒng)時間與第二系統(tǒng)時間的不同步,為了保證音頻播放器之間能同步播放,此時需要再一次對第一系統(tǒng)時間進行校準。
[0096]本實施例中,每間隔一段預設時間對第一系統(tǒng)時間進行一次校準。當?shù)谝幌到y(tǒng)時間與第二系統(tǒng)時間不同步時,進一步的,獲取兩者之間的時間差值,時間差值包括:第一系統(tǒng)時間快于第二系統(tǒng)時間的差值或第一系統(tǒng)時間慢于第二系統(tǒng)時間的差值。為了防止頻繁的校準第一系統(tǒng)時間對音頻播放造成影響,只有當時間差值大于預設閾值,即對音頻播放器同步播放產(chǎn)生實質(zhì)影響時,才進行系統(tǒng)時間校準。
[0097]如圖3所示,在一個實施例中,提供的一種音頻數(shù)據(jù)同步播放方法,該方法應用在音頻播放器中,該方法包括如下步驟:
[0098]步驟301,獲取音頻服務器返回的校準后的第一系統(tǒng)時間。
[0099]步驟302,接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包。本實施例中,音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包。
[0100]步驟303,根據(jù)聲道信息對音頻數(shù)據(jù)包進行組包。本實施例中,音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0101]步驟304,接收音頻服務器發(fā)送的播放控制指令。
[0102]步驟305,以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。
[0103]本實施例中,組包是指將接收到的單個音頻數(shù)據(jù)包組裝成拆分之前的音頻數(shù)據(jù)。保證播放的聲音與音頻服務器發(fā)送的聲音一致。音頻播放器的無線接收器接收音頻數(shù)據(jù)包,進一步的,將單個音頻數(shù)據(jù)包組裝成完整的音頻數(shù)據(jù)添加到播放隊列中,根據(jù)播放控制指令控制播放隊列中的音頻數(shù)據(jù)包進行播放。例如,播放控制指令為播放指令,則將播放隊列中的音頻數(shù)據(jù)包送入音頻播放器的聲卡中,通過聲卡播放聲音。
[0104]在一個實施例中,步驟303,根據(jù)聲道信息對音頻數(shù)據(jù)包進行組包的步驟,包括:根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中;在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。
[0105]根據(jù)聲道是否包含對應的音頻數(shù)據(jù)包將聲道分為發(fā)聲聲道和未發(fā)聲聲道。由于音頻播放器只接收與發(fā)聲聲道對應的音頻數(shù)據(jù)包,不接收音頻服務器中包含未發(fā)生聲道的音頻數(shù)據(jù)包。為了保證音頻數(shù)據(jù)的完整,通過插入靜音數(shù)據(jù)包來代替未發(fā)聲聲道的音頻數(shù)據(jù)包。其中,靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包的數(shù)量相等。例如,音頻播放器包含發(fā)聲聲道A和未發(fā)聲聲道B,發(fā)聲聲道A接收到10個音頻數(shù)據(jù),而未發(fā)聲聲道B沒有接收到音頻數(shù)據(jù)包。此時將未發(fā)聲聲道中插入10個靜音數(shù)據(jù)包,組包成完整的音頻數(shù)據(jù)進行播放。
[0106]在一個實施例中,在步驟305,根據(jù)播放控制指令對組包后的音頻數(shù)據(jù)包進行播放之后,該方法還包括:獲取音頻服務器發(fā)送的時間差值;根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù)包或丟棄對應的音頻數(shù)據(jù)包。
[0107]在播放過程中,由于無線網(wǎng)絡的抖動或延時,容易造成第一系統(tǒng)時間與第二系統(tǒng)時間再一次的同步,為了保證同步播放,需要音頻服務器再次對第一系統(tǒng)時間進行校準。音頻播放器獲取音頻服務器返回再次校準后的第一系統(tǒng)時間以及時間差值。
[0108]當時間差值為第一系統(tǒng)時間快于第二系統(tǒng)時間時(即音頻播放器的音頻播放速度快于音頻服務器的音頻發(fā)送速度),為了保持同步播放,此時音頻播放器需要經(jīng)過一段時間差值的等待后才能繼續(xù)播放,在聲道中插入靜音數(shù)據(jù)包即可實現(xiàn)音頻播放器的等待。
[0109]當時間差值為第一系統(tǒng)時間慢于第二系統(tǒng)時間時(即音頻播放器的音頻播放速度慢于音頻服務器的音頻發(fā)送速度),為了保持同步播放,此時音頻播放器需要丟棄播放時間戳在時間差值范圍內(nèi)的音頻數(shù)據(jù)包。通過上述處理最大限度的保證了音頻播放器之間進行系統(tǒng)時間校準不會影響播放效果。
[0110]如圖4所示,提供的一種多聲道音頻數(shù)據(jù)發(fā)送裝置,該裝置包括如下模塊:
[0111]連接建立模塊40,用于與音頻播放器通過無線網(wǎng)絡建立連接。
[0112]信息獲取模塊41,用于獲取音頻播放器的設備狀態(tài)信息,設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間。
[0113]第一校準模塊42,用于校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器。
[0114]音頻解碼模塊43,用于對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流。
[0115]音頻拆分模塊44,用于將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包。
[0116]音頻傳輸模塊45,用于將音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。
[0117]如圖5所示,在一個實施例中,該裝置還包括:
[0118]指令發(fā)送模塊46,用于發(fā)送播放控制指令至音頻播放器。
[0119]系統(tǒng)時間獲取模塊47,用于根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間。
[0120]時間差值獲取模塊48,用于判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步,若否,則進一步的獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值。
[0121]第二校準模塊49,用于斷時間差值是否大于預設閾值,若是,則再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。
[0122]如圖6所示,在一個實施例中,音頻拆分模塊44包括:
[0123]數(shù)據(jù)流拆分模塊440,用于將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)。
[0124]數(shù)據(jù)包分解模塊442,用于將音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0125]如圖7所示,在一個實施例中,提供的一種音頻數(shù)據(jù)同步播放裝置,該裝置包括如下模塊:
[0126]時間獲取模塊70,用于獲取音頻服務器返回的校準后的第一系統(tǒng)時間。
[0127]數(shù)據(jù)包接收模塊71,用于接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包。本實施例中,音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包。
[0128]數(shù)據(jù)包組包模塊72,用于根據(jù)聲道信息對音頻數(shù)據(jù)包進行組包。本實施例中,音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。
[0129]指令接收模塊73,用于接收音頻服務器發(fā)送的播放控制指令。
[0130]播放控制模塊74,用于以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。
[0131]如圖8所示,在一個實施例中,數(shù)據(jù)包組包模塊72包括:
[0132]第一聲道組包模塊720,用于根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中。
[0133]第二聲道組包模塊722,用于在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。
[0134]如圖9所示,在一個實施例中,提供的音頻數(shù)據(jù)同步播放的裝置還包括如下模塊:
[0135]差值獲取模塊75,用于獲取音頻服務器發(fā)送的時間差值。
[0136]數(shù)據(jù)包處理模塊76,用于根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù)包或丟棄對應的音頻數(shù)據(jù)包。
[0137]以上實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應當指出的是,對于本領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應以所附權利要求為準。
【主權項】
1.一種多聲道音頻數(shù)據(jù)發(fā)送方法,所述方法包括: 與音頻播放器通過無線網(wǎng)絡建立連接; 獲取所述音頻播放器的設備狀態(tài)信息,所述設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間; 校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器; 對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流; 將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包; 將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。2.根據(jù)權利要求1所述的方法,其特征在于,在將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器的步驟之后,還包括: 發(fā)送播放控制指令至所述音頻播放器; 根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間; 判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步,若否,則進一步的獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值; 判斷所述時間差值是否大于預設閾值,若是,則再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。3.根據(jù)權利要求1所述的方法,其特征在于,將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包的步驟,包括: 將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù); 將所述音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,所述分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。4.一種音頻數(shù)據(jù)同步播放方法,所述方法包括: 獲取音頻服務器返回的校準后的第一系統(tǒng)時間; 接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包,所述音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包; 根據(jù)所述聲道信息對所述音頻數(shù)據(jù)包進行組包,所述音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳; 接收音頻服務器發(fā)送的播放控制指令; 以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。5.根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)聲道信息對所述音頻數(shù)據(jù)包進行組包的步驟,包括: 根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中; 在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,所述靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。6.根據(jù)權利要求4所述的方法,其特征在于,根據(jù)播放控制指令對組包后的音頻數(shù)據(jù)包進行播放的步驟之后,所述方法還包括: 獲取音頻服務器發(fā)送的時間差值; 根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù)包或丟棄對應的音頻數(shù)據(jù)包。7.一種多聲道音頻數(shù)據(jù)發(fā)送裝置,其特征在于,所述裝置包括: 連接建立模塊,用于與音頻播放器通過無線網(wǎng)絡建立連接; 信息獲取模塊,用于獲取所述音頻播放器的設備狀態(tài)信息,所述設備狀態(tài)信息包含聲道信息和第一系統(tǒng)時間; 第一校準模塊,用于校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間返回至音頻播放器; 音頻解碼模塊,用于對待播放音頻文件進行解碼,獲取解碼后得到的原始音頻數(shù)據(jù)流; 音頻拆分模塊,用于將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù)包; 音頻傳輸模塊,用于將所述音頻數(shù)據(jù)包通過無線網(wǎng)絡傳輸至音頻播放器。8.根據(jù)權利要求7所述的裝置,其特征在于,所述裝置還包括: 指令發(fā)送模塊,用于發(fā)送播放控制指令至音頻播放器; 系統(tǒng)時間獲取模塊,用于根據(jù)預設時間間隔周期性的獲取音頻播放器的第一系統(tǒng)時間; 時間差值獲取模塊,用于判斷第一系統(tǒng)時間與預設的第二系統(tǒng)時間是否同步,若否,則進一步的獲取第一系統(tǒng)時間與第二系統(tǒng)時間之間的時間差值; 第二校準模塊,用于判斷所述時間差值是否大于預設閾值,若是,則再次校準第一系統(tǒng)時間,并將校準后的第一系統(tǒng)時間以及時間差值返回至音頻播放器。9.根據(jù)權利要求7所述的裝置,其特征在于,所述音頻拆分模塊包括: 數(shù)據(jù)流拆分模塊,用于將原始音頻數(shù)據(jù)流拆分成與所述聲道信息對應的音頻數(shù)據(jù); 數(shù)據(jù)包分解模塊,用于將所述音頻數(shù)據(jù)分解為大小固定的音頻數(shù)據(jù)包,所述分解后的音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳。10.一種音頻數(shù)據(jù)同步播放裝置,其特征在于,所述裝置包括: 時間獲取模塊,用于獲取音頻服務器返回的校準后的第一系統(tǒng)時間; 數(shù)據(jù)包接收模塊,用于接收音頻服務器通過無線網(wǎng)絡傳輸?shù)囊纛l數(shù)據(jù)包,所述音頻數(shù)據(jù)是音頻服務器將原始音頻數(shù)據(jù)流拆分成與聲道信息對應的音頻數(shù)據(jù)包; 數(shù)據(jù)包組包模塊,用于根據(jù)所述聲道信息對所述音頻數(shù)據(jù)包進行組包,所述音頻數(shù)據(jù)包包含對應的包序列號以及播放時間戳; 指令接收模塊,用于接收音頻服務器發(fā)送的播放控制指令; 播放控制模塊,用于以校準后的第一系統(tǒng)時間為基準,根據(jù)播放控制指令控制組包后的音頻數(shù)據(jù)包的播放。11.根據(jù)權利要求10所述的裝置,其特征在于,所述數(shù)據(jù)包組包模塊包括: 第一聲道組包模塊,用于根據(jù)包序列號將音頻數(shù)據(jù)包組包至對應的發(fā)聲聲道中; 第二聲道組包模塊,用于在未發(fā)聲聲道中插入靜音數(shù)據(jù)包,所述靜音數(shù)據(jù)包的數(shù)量與發(fā)聲聲道中的音頻數(shù)據(jù)包相等。12.根據(jù)權利要求10所述的裝置,其特征在于,所述裝置還包括: 差值獲取模塊,用于獲取音頻服務器發(fā)送的時間差值; 數(shù)據(jù)包處理模塊,用于根據(jù)時間差值以及播放時間戳對聲道信息插入對應的靜音數(shù)據(jù) 包或丟棄對應的音頻數(shù)據(jù)包。
【文檔編號】H04N21/8547GK105992040SQ201510083960
【公開日】2016年10月5日
【申請日】2015年2月15日
【發(fā)明人】戴建成
【申請人】深圳市民展科技開發(fā)有限公司