国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

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

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

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

      [0003]基于此,有必要針對(duì)音頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換時(shí)造成大量系統(tǒng)消耗的問題,提供一種音頻格式轉(zhuǎn)換方法。
      [0004]此外,還有必要針對(duì)音頻數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換時(shí)造成大量系統(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]在其中一個(gè)實(shí)施例中,所述讀取原始的音頻數(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]在其中一個(gè)實(shí)施例中,在所述從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)的步驟之前,還包括:
      [0015]通過音頻設(shè)備采集聲音信息;
      [0016]對(duì)所述聲音信息進(jìn)行處理得到原始的音頻數(shù)據(jù);
      [0017]將所述原始的音頻數(shù)據(jù)存入所述第二緩沖區(qū)。
      [0018]在其中一個(gè)實(shí)施例中,所述方法還包括以下步驟:
      [0019]當(dāng)所述音頻設(shè)備停止采集聲音信息時(shí),將所述原始的音頻數(shù)據(jù)的結(jié)尾信息寫入所述第一緩沖區(qū);
      [0020]將所述原始的音頻數(shù)據(jù)的結(jié)尾信息編碼成預(yù)設(shè)格式;[0021 ]將所述編碼成預(yù)設(shè)格式的結(jié)尾信息寫入所述預(yù)設(shè)格式文件中。
      [0022]在其中一個(gè)實(shí)施例中,所述原始的音頻數(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]在其中一個(gè)實(shí)施例中,所述讀取模塊還用于從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將所述原始的音頻數(shù)據(jù)添加到第一緩沖區(qū);
      [0033]所述裝置還包括:
      [0034]調(diào)整模塊,用于根據(jù)預(yù)設(shè)幀數(shù)調(diào)整第二緩沖區(qū)大小,使所述第二緩沖區(qū)的大小為所述預(yù)設(shè)幀數(shù)的整數(shù)倍。
      [0035]在其中一個(gè)實(shí)施例中,所述裝置還包括:
      [0036]采集模塊,用于通過音頻設(shè)備采集聲音信息;
      [0037]處理模塊,用于對(duì)所述聲音信息進(jìn)行處理得到原始的音頻數(shù)據(jù);
      [0038]存儲(chǔ)模塊,用于將所述原始的音頻數(shù)據(jù)存入所述第二緩沖區(qū)。
      [0039]在其中一個(gè)實(shí)施例中,所述讀取模塊還用于當(dāng)所述音頻設(shè)備停止采集聲音信息時(shí),將所述原始的音頻數(shù)據(jù)的結(jié)尾信息寫入所述第一緩沖區(qū);
      [0040]所述轉(zhuǎn)碼模塊還用于將所述原始的音頻數(shù)據(jù)的結(jié)尾信息編碼成預(yù)設(shè)格式;
      [0041]所述寫入模塊還用于將所述編碼成預(yù)設(shè)格式的結(jié)尾信息寫入所述預(yù)設(shè)格式文件中。
      [0042]在其中一個(gè)實(shí)施例中,所述原始的音頻數(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ù)時(shí)才進(jìn)行音頻數(shù)據(jù)的格式轉(zhuǎn)換,由音頻數(shù)據(jù)來通知進(jìn)行轉(zhuǎn)碼工作,編碼線程無需不斷循環(huán)查看是否有數(shù)據(jù)需要進(jìn)行處理,能大大地減少系統(tǒng)消耗。
      【附圖說明】
      [0048]圖1為一個(gè)實(shí)施例中音頻格式轉(zhuǎn)換方法的流程示意圖;
      [0049]圖2為一個(gè)實(shí)施例中轉(zhuǎn)換音頻數(shù)據(jù)的結(jié)尾信息的流程示意圖;
      [0050]圖3為另一個(gè)實(shí)施例中音頻格式轉(zhuǎn)換方法的流程示意圖;
      [0051 ]圖4為一個(gè)實(shí)施例中音頻格式轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖;
      [0052]圖5為另一個(gè)實(shí)施例中音頻格式轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0053]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(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ù)實(shí)際情況進(jìn)行設(shè)定,原始的音頻數(shù)據(jù)的數(shù)據(jù)包在第一緩沖區(qū)中以隊(duì)列的形式進(jìn)行排列,先讀取的排在隊(duì)列前面,依次類推添加到第一緩沖區(qū)中。原始的音頻數(shù)據(jù)為需要轉(zhuǎn)換成預(yù)設(shè)格式的音頻數(shù)據(jù),例如錄音數(shù)據(jù),其原始格式為PCM格式,需要轉(zhuǎn)換成MP3(Moving Picture Experts Group Aud1 LayerIII,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、WAV(Windows Media Aud1 ,Windows多媒體壓縮)等其它音頻格式,但不限于此。
      [0057]在一個(gè)實(shí)施例中,步驟SllO可具體為從第二緩沖區(qū)讀取原始的音頻數(shù)據(jù)并將原始的音頻數(shù)據(jù)添加到第一緩沖區(qū)。
      [0058]具體的,第二緩沖區(qū)為操作系統(tǒng)中專門用于臨時(shí)存放原始的音頻數(shù)據(jù)的緩沖區(qū)。在進(jìn)一步的實(shí)施例中,在步驟SllO之前,還包括:根據(jù)預(yù)設(shè)幀數(shù)調(diào)整第二緩沖區(qū)大小,使第二緩沖區(qū)的大小為預(yù)設(shè)幀數(shù)的整數(shù)倍。
      [0059]因當(dāng)讀取線程從第二緩沖區(qū)讀取的原始的音頻數(shù)據(jù)達(dá)到預(yù)設(shè)幀數(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ù)時(shí),立即調(diào)用編碼線程進(jìn)行轉(zhuǎn)碼,由讀取線程來通知編碼線程進(jìn)行工作,該預(yù)設(shè)幀數(shù)可根據(jù)實(shí)際需求進(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條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1