欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

音頻格式轉(zhuǎn)換方法和裝置的制造方法

文檔序號:9788634閱讀:497來源:國知局
音頻格式轉(zhuǎn)換方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,特別是涉及一種音頻格式轉(zhuǎn)換方法和裝置。
【背景技術(shù)】
[0002]用戶在進(jìn)行錄音時輸出的多為PCM(Pulse Code Modulat1n,脈沖編碼調(diào)制)語音數(shù)據(jù),若直接保存成音頻文件,是無法被播放器進(jìn)行播放的,所以須先實現(xiàn)數(shù)據(jù)編碼及壓縮,將其轉(zhuǎn)換成其它格式。而在進(jìn)行格式轉(zhuǎn)換時,傳統(tǒng)的方法是建立編碼線程進(jìn)行數(shù)據(jù)編碼,當(dāng)編碼線程中有數(shù)據(jù)時則開始進(jìn)行處理,編碼線程需不斷循環(huán)查看是否有數(shù)據(jù)需要進(jìn)行處理,造成大量的系統(tǒng)消耗。

【發(fā)明內(nèi)容】

[0003]基于此,有必要針對音頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換時造成大量系統(tǒng)消耗的問題,提供一種音頻格式轉(zhuǎn)換方法。
[0004]此外,還有必要針對音頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換時造成大量系統(tǒng)消耗的問題,提供一種音頻格式轉(zhuǎn)換裝置。
[0005]—種音頻格式轉(zhuǎn)換方法,包括以下步驟:
[0006]讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū);
[0007]判斷所述第一緩沖區(qū)中原始的音頻數(shù)據(jù)是否達(dá)到預(yù)設(shè)幀數(shù);
[0008]若所述第一緩沖區(qū)中原始的音頻數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù),則從所述第一緩沖區(qū)中取出原始的音頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,得到預(yù)設(shè)格式的音頻數(shù)據(jù);
[0009]將轉(zhuǎn)換成預(yù)設(shè)格式的音頻數(shù)據(jù)寫入預(yù)設(shè)格式文件中。
[0010]在其中一個實施例中,所述讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)具體為:
[0011 ]從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū);
[0012]所述方法還包括以下步驟:
[0013]根據(jù)預(yù)設(shè)幀數(shù)調(diào)整第二緩沖區(qū)大小,使所述第二緩沖區(qū)的大小為所述預(yù)設(shè)幀數(shù)的整數(shù)倍。
[0014]在其中一個實施例中,在所述從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)的步驟之前,還包括:
[0015]通過音頻設(shè)備采集聲音信息;
[0016]對所述聲音信息進(jìn)行處理得到原始的音頻數(shù)據(jù);
[0017]將所述原始的音頻數(shù)據(jù)存入所述第二緩沖區(qū)。
[0018]在其中一個實施例中,所述方法還包括以下步驟:
[0019]當(dāng)所述音頻設(shè)備停止采集聲音信息時,將所述原始的音頻數(shù)據(jù)的結(jié)尾信息寫入所述第一緩沖區(qū);
[0020]將所述原始的音頻數(shù)據(jù)的結(jié)尾信息編碼成預(yù)設(shè)格式;[0021 ]將所述編碼成預(yù)設(shè)格式的結(jié)尾信息寫入所述預(yù)設(shè)格式文件中。
[0022]在其中一個實施例中,所述原始的音頻數(shù)據(jù)為原始的錄音數(shù)據(jù),所述預(yù)設(shè)格式為MP3格式,所述方法具體包括以下步驟:
[0023]調(diào)用讀取線程讀取原始的錄音數(shù)據(jù)并將所述原始的錄音數(shù)據(jù)添加到第一緩沖區(qū);
[0024]判斷所述第一緩沖區(qū)中的原始的錄音數(shù)據(jù)是否達(dá)到預(yù)設(shè)幀數(shù);
[0025]若所述第一緩沖區(qū)中原始的錄音數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù),則調(diào)用編碼線程從所述第一緩沖區(qū)中取出預(yù)設(shè)幀數(shù)的原始的錄音數(shù)據(jù)編碼成MP3格式;
[0026]將轉(zhuǎn)換成MP3格式的錄音數(shù)據(jù)寫入MP3文件中。
[0027]一種音頻格式轉(zhuǎn)換裝置,包括:
[0028]讀取模塊,用于讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū);
[0029]判斷模塊,用于判斷所述第一緩沖區(qū)中原始的音頻數(shù)據(jù)是否達(dá)到預(yù)設(shè)幀數(shù);
[0030]轉(zhuǎn)碼模塊,用于若所述第一緩沖區(qū)中原始的音頻數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù),則從所述第一緩沖區(qū)中取出原始的音頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,得到預(yù)設(shè)格式的音頻數(shù)據(jù);
[0031]寫入模塊,用于將轉(zhuǎn)換成預(yù)設(shè)格式的音頻數(shù)據(jù)寫入預(yù)設(shè)格式文件中。
[0032]在其中一個實施例中,所述讀取模塊還用于從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū);
[0033]所述裝置還包括:
[0034]調(diào)整模塊,用于根據(jù)預(yù)設(shè)幀數(shù)調(diào)整第二緩沖區(qū)大小,使所述第二緩沖區(qū)的大小為所述預(yù)設(shè)幀數(shù)的整數(shù)倍。
[0035]在其中一個實施例中,所述裝置還包括:
[0036]采集模塊,用于通過音頻設(shè)備采集聲音信息;
[0037]處理模塊,用于對所述聲音信息進(jìn)行處理得到原始的音頻數(shù)據(jù);
[0038]存儲模塊,用于將所述原始的音頻數(shù)據(jù)存入所述第二緩沖區(qū)。
[0039]在其中一個實施例中,所述讀取模塊還用于當(dāng)所述音頻設(shè)備停止采集聲音信息時,將所述原始的音頻數(shù)據(jù)的結(jié)尾信息寫入所述第一緩沖區(qū);
[0040]所述轉(zhuǎn)碼模塊還用于將所述原始的音頻數(shù)據(jù)的結(jié)尾信息編碼成預(yù)設(shè)格式;
[0041]所述寫入模塊還用于將所述編碼成預(yù)設(shè)格式的結(jié)尾信息寫入所述預(yù)設(shè)格式文件中。
[0042]在其中一個實施例中,所述原始的音頻數(shù)據(jù)為原始的錄音數(shù)據(jù),所述預(yù)設(shè)格式為MP3格式;
[0043]所述讀取模塊還用于調(diào)用讀取線程讀取原始的錄音數(shù)據(jù)并將所述原始的錄音數(shù)據(jù)添加到第一緩沖區(qū);
[0044]所述判斷模塊還用于判斷所述第一緩沖區(qū)中的原始的錄音數(shù)據(jù)是否達(dá)到預(yù)設(shè)幀數(shù);
[0045]所述轉(zhuǎn)碼模塊還用于若所述第一緩沖區(qū)中原始的錄音數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù),則調(diào)用編碼線程從所述第一緩沖區(qū)中取出預(yù)設(shè)幀數(shù)的原始的錄音數(shù)據(jù)編碼成MP3格式;
[0046]所述寫入模塊還用于將轉(zhuǎn)換成MP3格式的音頻數(shù)據(jù)寫入MP3文件中。
[0047]上述音頻格式轉(zhuǎn)換方法和裝置,只有當(dāng)?shù)谝痪彌_區(qū)的數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù)時才進(jìn)行音頻數(shù)據(jù)的格式轉(zhuǎn)換,由音頻數(shù)據(jù)來通知進(jìn)行轉(zhuǎn)碼工作,編碼線程無需不斷循環(huán)查看是否有數(shù)據(jù)需要進(jìn)行處理,能大大地減少系統(tǒng)消耗。
【附圖說明】
[0048]圖1為一個實施例中音頻格式轉(zhuǎn)換方法的流程示意圖;
[0049]圖2為一個實施例中轉(zhuǎn)換音頻數(shù)據(jù)的結(jié)尾信息的流程示意圖;
[0050]圖3為另一個實施例中音頻格式轉(zhuǎn)換方法的流程示意圖;
[0051 ]圖4為一個實施例中音頻格式轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖;
[0052]圖5為另一個實施例中音頻格式轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0053]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0054]如圖1所示,一種音頻格式轉(zhuǎn)換方法,包括以下步驟:
[0055]步驟S110,讀取原始的音頻數(shù)據(jù)并將原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)。
[0056]具體的,可調(diào)用讀取線程讀取原始的音頻數(shù)據(jù)并將原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)。第一緩沖區(qū)可為用戶自行設(shè)置的緩沖區(qū),大小可根據(jù)實際情況進(jìn)行設(shè)定,原始的音頻數(shù)據(jù)的數(shù)據(jù)包在第一緩沖區(qū)中以隊列的形式進(jìn)行排列,先讀取的排在隊列前面,依次類推添加到第一緩沖區(qū)中。原始的音頻數(shù)據(jù)為需要轉(zhuǎn)換成預(yù)設(shè)格式的音頻數(shù)據(jù),例如錄音數(shù)據(jù),其原始格式為PCM格式,需要轉(zhuǎn)換成MP3(Moving Picture Experts Group Aud1 LayerIII,動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、WAV(Windows Media Aud1 ,Windows多媒體壓縮)等其它音頻格式,但不限于此。
[0057]在一個實施例中,步驟SllO可具體為從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)。
[0058]具體的,第二緩沖區(qū)為操作系統(tǒng)中專門用于臨時存放原始的音頻數(shù)據(jù)的緩沖區(qū)。在進(jìn)一步的實施例中,在步驟SllO之前,還包括:根據(jù)預(yù)設(shè)幀數(shù)調(diào)整第二緩沖區(qū)大小,使第二緩沖區(qū)的大小為預(yù)設(shè)幀數(shù)的整數(shù)倍。
[0059]因當(dāng)讀取線程從第二緩沖區(qū)讀取的原始的音頻數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù)時,即調(diào)用編碼線程從第一緩沖區(qū)中取出原始的音頻數(shù)據(jù)進(jìn)行編碼成預(yù)設(shè)格式,將第二緩沖區(qū)的大小調(diào)整為預(yù)設(shè)幀數(shù)的整數(shù)倍可減少原始的音頻數(shù)據(jù)的丟失。
[0060]步驟S120,判斷第一緩沖區(qū)中原始的音頻數(shù)據(jù)是否達(dá)到預(yù)設(shè)幀數(shù),若是,則執(zhí)行步驟SI 30,若否,則執(zhí)行步驟SI 10。
[0061 ]具體的,可預(yù)先設(shè)置通知周期,以幀為單位,當(dāng)讀取的原始的音頻數(shù)據(jù)的數(shù)據(jù)包達(dá)到預(yù)設(shè)幀數(shù),即第一緩沖區(qū)中原始的音頻數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(shù)時,立即調(diào)用編碼線程進(jìn)行轉(zhuǎn)碼,由讀取線程來通知編碼線程進(jìn)行工作,該預(yù)設(shè)幀數(shù)可根據(jù)實際需求進(jìn)行設(shè)置,例如100幀、200幀等。此外,通過建立讀取線程與編碼線程,將讀取線程與編碼線程分開,可避免發(fā)生線程阻塞。
[0062]步驟S130,從第一緩沖區(qū)中取出原始的音頻數(shù)據(jù)進(jìn)行轉(zhuǎn)碼,得到預(yù)設(shè)格式的音頻數(shù)據(jù)。
[0063]具體的,當(dāng)讀取的原始的音頻數(shù)據(jù)的數(shù)據(jù)包達(dá)到預(yù)設(shè)幀數(shù),讀取線程即通知編碼線程開始進(jìn)行轉(zhuǎn)碼,調(diào)用編碼線程從第一緩沖區(qū)中取出原始的音頻數(shù)據(jù),并將該原始的音頻數(shù)據(jù)編碼成預(yù)設(shè)格式,可從第一緩沖區(qū)中取出預(yù)設(shè)幀數(shù)的原始的音頻數(shù)據(jù),即取出第一緩沖區(qū)全部的原始的音頻數(shù)據(jù)
當(dāng)前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
辽阳市| 兰州市| 田林县| 潜山县| 乐陵市| 海林市| 台山市| 会东县| 永胜县| 绥阳县| 即墨市| 同仁县| 嵩明县| 景宁| 巴马| 监利县| 阳东县| 五指山市| 璧山县| 伊金霍洛旗| 南汇区| 微博| 故城县| 防城港市| 文水县| 靖远县| 石屏县| 岑巩县| 德州市| 静安区| 东源县| 抚顺县| 岱山县| 石家庄市| 湄潭县| 江北区| 色达县| 禹城市| 丰台区| 巴马| 佛坪县|