本發明涉及音頻處理領域,更具體的說,涉及一種音頻的處理方法和裝置。
背景技術:
目前,用戶使用數字廣播電視觀看電視或者玩游戲已經成為一種娛樂方式。
用戶在使用數字廣播電視觀看電視或者玩游戲時,機頂盒將用戶的音頻請求發送到后臺服務器,后臺服務器根據音頻請求,編碼相應的音頻文件,進而將編碼好的音頻文件發送到機頂盒,使音頻正常播放。后臺服務器在編碼音頻文件時會占用后臺服務器較多的計算資源,進而導致后臺服務器的工作負擔較重。
技術實現要素:
有鑒于此,本發明提供一種音頻的處理方法和裝置,以解決后臺服務器在編碼音頻文件時會占用后臺服務器較多的計算資源,進而導致后臺服務器的工作負擔較重的問題。
為解決上述技術問題,本發明采用了如下技術方案:
一種音頻的處理方法,應用于服務器,包括:
接收機頂盒發送的音頻請求;
判斷所述音頻請求對應的預編碼文件是否存在于所述服務器的內存中;其中,所述預編碼文件已預先生成;
當判斷出所述音頻請求對應的預編碼文件存在于所述服務器的內存中,在所述預編碼文件中查找與所述音頻請求對應的幀數據;
將所述幀數據發送給所述機頂盒。
優選地,當判斷出所述音頻請求對應的預編碼文件未存在于所述服務器的內存中后,還包括:
判斷所述服務器的硬盤中是否保存有所述預編碼文件;
當判斷出所述服務器的硬盤中保存有所述預編碼文件,保存所述預編碼文件至所述內存;
分析所述預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置;
返回所述在所述預編碼文件中查找與所述音頻請求對應的幀數據;
當判斷出所述服務器的硬盤中未保存有所述預編碼文件,判斷所述內存中是否保存有所述音頻請求對應的脈沖編碼調制pcm素材;
當判斷出所述內存中保存有所述音頻請求對應的pcm素材,將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據;
將所述第二數據發送到所述機頂盒。
優選地,當判斷出所述內存中未保存有所述音頻請求對應的pcm素材后,還包括:
判斷所述服務器的硬盤中是否保存有所述pcm素材;
當判斷出所述服務器的硬盤中保存有所述pcm素材,保存所述pcm素材至所述內存;
返回所述將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據。
優選地,所述預編碼文件的生成過程包括:
獲取所述音頻請求對應的pcm素材;
判斷所述pcm素材的音頻特征參數的參數取值是否為預設數值;
當判斷出所述pcm素材的音頻特征參數的參數取值為預設數值,獲取預編碼音量列表;其中,所述預編碼音量列表中包含多個音量等級;
根據音量倍數的線性變換算法調整所述pcm素材中的音量,得到所述預編碼音量列表中第i個所述音量等級對應的新pcm素材;
轉換第i個所述音量等級對應的新pcm素材的格式,得到第i個所述音量等級對應的符合預設格式的多個幀數據;
統計第i個所述音量等級對應的符合預設格式的多個幀數據的數據大小;
判斷是否統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小;
若判斷出未統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小,使i=i+1,并返回根據音量倍數的線性變換算法調整所述pcm素材中的音量,得到所述預編碼音量列表中第i個所述音量等級對應的新pcm素材;其中,i為正整數;
若判斷出已統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小,根據預編碼文件模板、所述預編碼音量列表、每個所述音量等級對應的符合預設格式的多個幀數據、以及每個所述音量等級對應的符合預設格式的多個幀數據的數據大小,生成所述預編碼文件。
優選地,將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據之前,還包括:
判斷是否有未發送至所述機頂盒的待發送數據;
當判斷出沒有未發送至所述機頂盒的待發送數據,執行所述將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據;
當判斷出有未發送至所述機頂盒的待發送數據,將所述待發送數據與所述第一數據進行整合,得到整合后的數據;
將所述整合后的數據轉換為符合預設格式的第三數據;
將所述第三數據發送到所述機頂盒。
一種音頻的處理裝置,應用于服務器,包括:
接收單元,用于接收機頂盒發送的音頻請求;
第一判斷單元,用于判斷所述音頻請求對應的預編碼文件是否存在于所述服務器的內存中;其中,所述預編碼文件已預先生成;
查找單元,用于當所述第一判斷單元判斷出所述音頻請求對應的預編碼文件存在于所述服務器的內存中,在所述預編碼文件中查找與所述音頻請求對應的幀數據;
第一發送單元,用于將所述幀數據發送給所述機頂盒。
優選地,還包括:
第二判斷單元,用于當所述第一判斷單元判斷出所述音頻請求對應的預編碼文件未存在于所述服務器的內存中后,判斷所述服務器的硬盤中是否保存有所述預編碼文件;
第一保存單元,用于當所述第二判斷單元判斷出所述服務器的硬盤中保存有所述預編碼文件,保存所述預編碼文件至所述內存;
分析單元,用于分析所述預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置;
所述查找單元,還用于所述分析單元分析所述預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置后,在所述預編碼文件中查找與所述音頻請求對應的幀數據;
第三判斷單元,用于當所述第二判斷單元判斷出所述服務器的硬盤中未保存有所述預編碼文件,判斷所述內存中是否保存有所述音頻請求對應的脈沖編碼調制pcm素材;
第一轉換單元,用于當所述第三判斷單元判斷出所述內存中保存有所述音頻請求對應的pcm素材,將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據;
第二發送單元,用于將所述第二數據發送到所述機頂盒。
優選地,還包括:
第四判斷單元,用于當所述第三判斷單元判斷出所述內存中未保存有所述音頻請求對應的pcm素材后,判斷所述服務器的硬盤中是否保存有所述pcm素材;
第二保存單元,用于當所述第四判斷單元判斷出所述服務器的硬盤中保存有所述pcm素材,保存所述pcm素材至所述內存;
所述第一轉換單元,還用于所述第二保存單元保存所述pcm素材至所述內存后,將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據。
優選地,還包括:
第一獲取單元,用于獲取所述音頻請求對應的pcm素材;
第五判斷單元,用于判斷所述pcm素材的音頻特征參數的參數取值是否為預設數值;
第二獲取單元,用于當所述第五判斷單元判斷出所述pcm素材的音頻特征參數的參數取值為預設數值,獲取預編碼音量列表;其中,所述預編碼音量列表中包含多個音量等級;
調整單元,用于根據音量倍數的線性變換算法調整所述pcm素材中的音量,得到所述預編碼音量列表中第i個所述音量等級對應的新pcm素材;
第二轉換單元,用于轉換第i個所述音量等級對應的新pcm素材的格式,得到第i個所述音量等級對應的符合預設格式的多個幀數據;
統計單元,用于統計第i個所述音量等級對應的符合預設格式的多個幀數據的數據大小;
第六判斷單元,用于判斷是否統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小;
控制單元,用于若所述第六判斷單元判斷出未統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小,使i=i+1;
所述調整單元,還用于所述控制單元使i=i+1后,根據音量倍數的線性變換算法調整所述pcm素材中的音量,得到所述預編碼音量列表中第i個所述音量等級對應的新pcm素材;其中,i為正整數;
生成單元,用于若所述第六判斷單元判斷出已統計所述預編碼音量列表中最后一個所述音量等級對應的符合預設格式的多個幀數據的數據大小,根據預編碼文件模板、所述預編碼音量列表、每個所述音量等級對應的符合預設格式的多個幀數據、以及每個所述音量等級對應的符合預設格式的多個幀數據的數據大小,生成所述預編碼文件。
優選地,還包括:
第七判斷單元,用于判斷是否有未發送至所述機頂盒的待發送數據;
所述第一轉換單元,還用于當所述第七判斷單元判斷出沒有未發送至所述機頂盒的待發送數據,將所述pcm素材中與所述音頻請求對應的第一數據轉換成符合預設格式的第二數據;
數據整合單元,用于當所述第七判斷單元判斷出有未發送至所述機頂盒的待發送數據,將所述待發送數據與所述第一數據進行整合,得到整合后的數據;
第三轉換單元,用于將所述整合后的數據轉換為符合預設格式的第三數據;
第三發送單元,用于將所述第三數據發送到所述機頂盒。
相較于現有技術,本發明具有以下有益效果:
本發明提供了一種音頻的處理方法和裝置,本發明中預編碼文件已經預先生成,當機頂盒發送的音頻請求對應的所述預編碼文件存在于所述服務器的內存中時,將在所述預編碼文件中查找到的與所述音頻請求對應的幀數據發送給所述機頂盒,本方案接收到音頻請求后,不再需要進行編碼,因此不會占用后臺服務器較多的計算資源,降低后臺服務器的工作負擔。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明提供的一種音頻的處理方法的方法流程圖;
圖2為本發明提供的另一種音頻的處理方法的方法流程圖;
圖3為本發明提供的又一種音頻的處理方法的方法流程圖;
圖4為本發明提供的再一種音頻的處理方法的方法流程圖;
圖5為本發明提供的一種音頻的處理裝置的結構示意圖;
圖6為本發明提供的另一種音頻的處理裝置的結構示意圖;
圖7為本發明提供的又一種音頻的處理裝置的結構示意圖;
圖8為本發明提供的再一種音頻的處理裝置的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
本發明實施例提供了一種音頻的處理方法,參照圖1,應用于服務器,包括:
s101、接收機頂盒發送的音頻請求;
具體的,音頻請求是用戶通過按壓遙控器上的按鍵生成的。
s102、判斷音頻請求對應的預編碼文件是否存在于服務器的內存中;當判斷出音頻請求對應的預編碼文件存在于服務器的內存中,執行步驟s103。
其中,預編碼文件已預先生成。
s103、在預編碼文件中查找與音頻請求對應的幀數據。
其中,預編碼文件中保存有多個幀數據,本步驟查找的幀數據的數量為一個。
s104、將幀數據發送給機頂盒。
具體的,將幀數據發送給機頂盒,具體包括:
將幀數據復用成傳輸流ts流,進而將ts流發送給機頂盒。
本實施例提供了一種音頻的處理方法,本實施例中預編碼文件已經預先生成,當機頂盒發送的音頻請求對應的預編碼文件存在于服務器的內存中時,將在預編碼文件中查找到的與音頻請求對應的幀數據發送給機頂盒,本方案接收到音頻請求后,不再需要進行編碼,因此不會占用后臺服務器較多的計算資源,降低后臺服務器的工作負擔。
可選的,本發明的另一實施例中,參照圖2,當判斷出音頻請求對應的預編碼文件未存在于服務器的內存中后,執行步驟s105。
s105、判斷服務器的硬盤中是否保存有預編碼文件;當判斷出服務器的硬盤中保存有預編碼文件,執行步驟s106,當判斷出服務器的硬盤中未保存有預編碼文件,執行步驟s108。
s106、保存預編碼文件至內存。
s107、分析預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置;當執行完步驟s107后,執行步驟s103。
具體的,預編碼文件中包含至少一個音量等級和音量等級對應的至少一個幀數據,其中,分析音量等級對應的幀數據的存儲位置,即為分析該幀數據在預編碼文件中的位置。
需要說明的是,分析預編碼文件中包含的音量等級和每個音量等級對應的幀數據的存儲位置,是為了能夠在接收到音頻請求后,快速查找到音頻請求對應的幀數據。
s108、判斷內存中是否保存有音頻請求對應的脈沖編碼調制pcm素材;當判斷出內存中保存有音頻請求對應的脈沖編碼調制pcm素材,執行步驟s109,當判斷出內存中未保存有音頻請求對應的脈沖編碼調制pcm素材,執行步驟s111。
s109、將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據;
具體的,預設格式包括mpeg-1layerii、mp3、高級音頻編碼aac等格式。
步驟s109為格式的轉換,將一種格式轉換成另外一種格式。
s110、將第二數據發送到機頂盒。
具體的,將第二數據復用成ts流,并將ts流發送給機頂盒。
s111、判斷服務器的硬盤中是否保存有pcm素材;當判斷出服務器的硬盤中保存有pcm素材,執行步驟s112,
s112、保存pcm素材至內存。
可選的,步驟s112之后,還包括:
建立pcm素材與預編碼文件的映射關系。
具體的,建立pcm素材與預編碼文件的映射關系,即將pcm素材與預編碼文件綁定在一起。
需要說明的是,每個音樂都有對應的pcm素材和預編碼文件,并且每個音樂都有唯一標識,將pcm素材與預編碼文件綁定在一起時,也將相應的標識與pcm素材、預編碼文件綁定在一起,能夠在查找某一音樂對應的文件時,快速找到該音樂對應的pcm素材和預編碼文件,減少由于臨時搜索而需要的時間。
需要說明的是,執行步驟s112后,返回執行步驟s109和s110。
本實施例中,當硬盤中未保存有音頻請求對應的預編碼文件時,查找是否有音頻請求對應的pcm素材,在有對應的pcm素材時,將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據,并將第二數據發送到機頂盒,進而能夠滿足用戶對音頻的需求。
需要說明的是,預編碼文件中僅規定了少數幾種音量等級,如原始音量、音量降低一倍、音量增加一倍、二倍、四倍等。當音頻請求為請求音量增加1.5倍時,此時在預編碼文件中找不到相應的幀數據,只能通過查找該音頻請求對應的pcm素材,通過編碼pcm素材的方式來得到1.5倍音量的數據。
可選的,本發明的另一實施例中,預編碼文件的生成過程包括:
s301、獲取音頻請求對應的pcm素材;
其中,pcm素材尾部不足音頻編碼完整幀時,用靜音樣本點自動補全一幀;保證數據幀能完整對齊。具體的,當前采用的音頻編碼是以1152個樣本點為單位(幀)處理的,如果pcm素材尾部剩余樣本點數不足1152樣本點(一幀)時,通過增加靜音樣本點補全成1152樣本點數(幀)。
s302、判斷pcm素材的音頻特征參數的參數取值是否為預設數值;當判斷出pcm素材的音頻特征參數的參數取值為預設數值,執行步驟s303。
具體的,能夠生成預編碼文件的pcm素材的音頻特征參數需要滿足預設的規定,即音頻特征參數的參數取值為預設數值,如編碼格式為mpeg-1layerii,編碼音頻幀大小為1152樣本點,輸出碼率為64kbps、采樣率為44100hz,聲道數為雙聲道、采樣精度為16bit等。
s303、獲取預編碼音量列表;
其中,預編碼音量列表中包含多個音量等級。預編碼音量列表是提前生成好的,預編碼音量列表包含的音量等級包括原始音量、音量降低一倍、音量增加一倍、二倍、四倍等。
s304、根據音量倍數的線性變換算法調整pcm素材中的音量,得到預編碼音量列表中第i個音量等級對應的新pcm素材;
其中,pcm素材中的音量為原始音量,當第i個音量等級為原始音量時,音量倍數的線性變換算法為一倍,即不需要調整pcm素材中的音量,得到的新pcm素材與pcm素材相同。
當第i個音量等級不為原始音量時,如為音量增加一倍時,根據音量倍數的線性變換算法將pcm素材中的音量調整為增加一倍的音量,得到新pcm素材。
s305、轉換第i個音量等級對應的新pcm素材的格式,得到第i個音量等級對應的符合預設格式的多個幀數據;
其中,預設格式包括mpeg-1layerii、mp3、高級音頻編碼aac等格式。
s306、統計第i個音量等級對應的符合預設格式的多個幀數據的數據大小;
s307、判斷是否統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小;當判斷出未統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小,執行步驟s308;當判斷出已統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小,執行步驟s309。
需要說明的是,當已統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小,說明每個音量等級對應的幀數據已經編碼完成。
s308、使i=i+1;
其中,執行完s308后,返回步驟s304。其中,i為正整數。
s309、根據預編碼文件模板、預編碼音量列表、每個音量等級對應的符合預設格式的多個幀數據、以及每個音量等級對應的符合預設格式的多個幀數據的數據大小,生成預編碼文件。
具體的,預編碼文件格式封裝格式如下:
1)文件頭部標識四個字節iaps;(全大寫)
2)保留8個字節用于其他將來用途;(初始置為0xff)
3)兩個字節:描述預編碼文件包含的音量等級的數量(高位字節在前);
4)按照預編碼文件包含的音量等級數量,依次列出每種音量等級的屬性:
兩個字節描述音量等級;高位字節在前;
四個字節描述幀數據的數據大小(字節數);
四個字節保留4個字節用于將來用途(初始值為0xff);
5)之后依次是4)中描述的每個音量等級對應的符合預設格式的多個幀數據。
其中,每個幀數據包含四部分:
<1>兩個字節描述數據開始,固定為字符e和s;
<2>兩個字節描述當前幀實際編碼數據字節數:高位在前;
<3>之后是<2>描述的實際幀編碼數據大小;
<4>填充字節(0xff)直到填滿整個幀數據。
可選的,步驟s302和步驟s303的順序可以調換,即在獲取預編碼音量列表后,在去判斷pcm素材的音頻特征參數的參數取值是否為預設數值。此外,在判斷pcm素材的音頻特征參數的參數取值為預設數值后,可以將預編碼文件的第1)、2)和3)部分填充上。
本實施例中,首先生成每個音量等級對應的符合預設格式的多個幀數據,進而能夠生成預編碼文件。
可選的,本發明的另一實施例中,步驟s109之前,還包括:
s409、判斷是否有未發送至機頂盒的待發送數據;當判斷出沒有未發送至機頂盒的待發送數據,執行步驟s410,當判斷出有未發送至機頂盒的待發送數據,執行步驟s414。
其中,待發送數據的特征參數應該是預設的特征參數,如采樣率是44100hz,比特數為16bit,聲道數為雙聲道等。
需要說明的是,本實施例中的待發送數據為其他pcm素材中的數據,在找到待發送數據時,首先應該在pcm素材中定位到該待發送數據的位置。
s414、將待發送數據與第一數據進行整合,得到整合后的數據;
其中,待發送數據個數可以是一個,也可以是多個,將待發送數據與第一數據進行整合,即進行混音合成,得到整合后的數據。
需要說明的是,第一數據的特征參數與待發送數據的特征參數的相同。
s415、將整合后的數據轉換為符合預設格式的第三數據;
其中,預設格式包括mpeg-1layerii、mp3、高級音頻編碼aac等格式。
s416、將第三數據發送到機頂盒。
本實施例中,在將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據之前,判斷是否有未發送至機頂盒的待發送數據,當判斷出有未發送至機頂盒的待發送數據,將待發送數據與第一數據進行整合,得到整合后的數據,能夠將要發送至機頂盒的多個數據整合成一個數據發送給機頂盒,即將用戶請求的多個音樂經過混音合成后發送給機頂盒。
需要說明的是,本發明中涉及到兩種模式的切換,即實時編碼模式和預編碼文件模式的切換,其中,預編碼文件模式僅適用于單路音效。切換場景包括:
預編碼文件模式到實時編碼模式的切換包括:
1)單路音效下,增加新音效混音;
即在播放單一音樂時,增加了一個音樂。
2)單路音效下,從預編碼音量播放切換到非預編碼音量播放;
其中,預編碼音量指上述實施例中的音量等級對應的音量,非預編碼音量指除了上述實施例中的音量等級對應的音量之外的其他音量。
3)單路音效下,從預編碼音量播放切換到自動停止的淡出過程;
另一類是實時編碼到預編碼文件的切換:
1)多路音效下,多路播放切換到預編碼音量單路播放;
2)單路音效下,啟動淡入播放切換預編碼音量播放;
3)單路音效下,從非預編碼播放切換到預編碼音量播放。
可選的,本發明的另一實施例中提供了一種音頻的處理裝置,參照圖5,應用于服務器,包括:
接收單元101,用于接收機頂盒發送的音頻請求;
第一判斷單元102,用于判斷音頻請求對應的預編碼文件是否存在于服務器的內存中;其中,預編碼文件已預先生成;
查找單元103,用于當第一判斷單元102判斷出音頻請求對應的預編碼文件存在于服務器的內存中,在預編碼文件中查找與音頻請求對應的幀數據;
第一發送單元104,用于將幀數據發送給機頂盒。
本實施例提供了一種音頻的處理裝置,本實施例中預編碼文件已經預先生成,當機頂盒發送的音頻請求對應的預編碼文件存在于服務器的內存中時,將在預編碼文件中查找到的與音頻請求對應的幀數據發送給機頂盒,本方案接收到音頻請求后,不再需要進行編碼,因此不會占用后臺服務器較多的計算資源,降低后臺服務器的工作負擔。
需要說明的是,本實施例中的各個單元的工作過程,請參照圖1對應的實施例中的說明,在此不再贅述。
可選的,本發明的另一實施例中,參照圖6,還包括:
第二判斷單元105,用于當第一判斷單元102判斷出音頻請求對應的預編碼文件未存在于服務器的內存中后,判斷服務器的硬盤中是否保存有預編碼文件;
第一保存單元106,用于當第二判斷單元105判斷出服務器的硬盤中保存有預編碼文件,保存預編碼文件至內存;
分析單元107,用于分析預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置;
查找單元103,還用于分析單元107分析預編碼文件中包含的音量等級種類和每個音量等級對應的幀數據的存儲位置后,在預編碼文件中查找與音頻請求對應的幀數據;
第三判斷單元108,用于當第二判斷單元105判斷出服務器的硬盤中未保存有預編碼文件,判斷內存中是否保存有音頻請求對應的脈沖編碼調制pcm素材;
第一轉換單元109,用于當第三判斷單元108判斷出內存中保存有音頻請求對應的pcm素材,將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據;
第二發送單元110,用于將第二數據發送到機頂盒;
第四判斷單元111,用于當第三判斷單元108判斷出內存中未保存有音頻請求對應的pcm素材后,判斷服務器的硬盤中是否保存有pcm素材;
第二保存單元112,用于當第四判斷單元111判斷出服務器的硬盤中保存有pcm素材,保存pcm素材至內存;
第一轉換單元109,還用于第二保存單元112保存pcm素材至內存后,將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據。
本實施例中,當硬盤中未保存有音頻請求對應的預編碼文件時,查找是否有音頻請求對應的pcm素材,在有對應的pcm素材時,將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據,并將第二數據發送到機頂盒,進而能夠滿足用戶對音頻的需求。
需要說明的是,本實施例中的各個單元的工作過程,請參照圖2對應的實施例中的說明,在此不再贅述。
可選的,本發明的另一實施例中,參照圖7,還包括:
第一獲取單元201,用于獲取音頻請求對應的pcm素材;
第五判斷單元202,用于判斷pcm素材的音頻特征參數的參數取值是否為預設數值;
第二獲取單元203,用于當第五判斷單元202判斷出pcm素材的音頻特征參數的參數取值為預設數值,獲取預編碼音量列表;其中,預編碼音量列表中包含多個音量等級;
調整單元204,用于根據音量倍數的線性變換算法調整pcm素材中的音量,得到預編碼音量列表中第i個音量等級對應的新pcm素材;
第二轉換單元205,用于轉換第i個音量等級對應的新pcm素材的格式,得到第i個音量等級對應的符合預設格式的多個幀數據;
統計單元206,用于統計第i個音量等級對應的符合預設格式的多個幀數據的數據大小;
第六判斷單元207,用于判斷是否統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小;
控制單元208,用于若第六判斷單元207判斷出未統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小,使i=i+1;
調整單元204,還用于控制單元208使i=i+1后,根據音量倍數的線性變換算法調整pcm素材中的音量,得到預編碼音量列表中第i個音量等級對應的新pcm素材;其中,i為正整數;
生成單元209,用于若第六判斷單元207判斷出已統計預編碼音量列表中最后一個音量等級對應的符合預設格式的多個幀數據的數據大小,根據預編碼文件模板、預編碼音量列表、每個音量等級對應的符合預設格式的多個幀數據、以及每個音量等級對應的符合預設格式的多個幀數據的數據大小,生成預編碼文件。
本實施例中,首先生成每個音量等級對應的符合預設格式的多個幀數據,進而能夠生成預編碼文件。
需要說明的是,本實施例中的各個單元的工作過程,請參照圖3對應的實施例中的說明,在此不再贅述。
可選的,本發明的另一實施例中,參照圖8,還包括:
第七判斷單元113,用于判斷是否有未發送至機頂盒的待發送數據;
第一轉換單元109,還用于當第七判斷單元113判斷出沒有未發送至機頂盒的待發送數據,將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據;
數據整合單元114,用于當第七判斷單元113判斷出有未發送至機頂盒的待發送數據,將待發送數據與第一數據進行整合,得到整合后的數據;
第三轉換單元115,用于將整合后的數據轉換為符合預設格式的第三數據;
第三發送單元116,用于將第三數據發送到機頂盒。
本實施例中,在將pcm素材中與音頻請求對應的第一數據轉換成符合預設格式的第二數據之前,判斷是否有未發送至機頂盒的待發送數據,當判斷出有未發送至機頂盒的待發送數據,將待發送數據與第一數據進行整合,得到整合后的數據,能夠將要發送至機頂盒的多個數據整合成一個數據發送給機頂盒,即將用戶請求的多個音樂經過混音合成后發送給機頂盒。
需要說明的是,本實施例中的各個單元的工作過程,請參照圖4對應的實施例中的說明,在此不再贅述。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。