本文屬于Android局域網(wǎng)內(nèi)的語(yǔ)音對(duì)講項(xiàng)目系列,《通過UDP廣播實(shí)現(xiàn)Android局域網(wǎng)Peer Discovering》實(shí)現(xiàn)了局域網(wǎng)內(nèi)的廣播及多播通信,本文將重點(diǎn)說明系統(tǒng)架構(gòu),音頻信號(hào)的實(shí)時(shí)錄制、播放及編解碼相關(guān)技術(shù)。

本文主要包含以下內(nèi)容:

  1. AudioRecord、AudioTrack

  2. Speex編解碼

  3. Android語(yǔ)音對(duì)講系統(tǒng)架構(gòu)

一、AudioRecord、AudioTrack

AudioRecorder和AudioTracker是Android中獲取實(shí)時(shí)音頻數(shù)據(jù)的接口。在網(wǎng)絡(luò)電話、語(yǔ)音對(duì)講等場(chǎng)景中,由于實(shí)時(shí)性的要求,不能采用文件傳輸,因此,MediaRecorder和MediaPlayer就無(wú)法使用。

AudioRecorder和AudioTracker是Android在Java層對(duì)libmedia庫(kù)的封裝,所以效率較高,適合于實(shí)時(shí)語(yǔ)音相關(guān)處理的應(yīng)用。在使用時(shí),AudioRecorder和AudioTracker的構(gòu)造器方法入?yún)⑤^多,這里對(duì)其進(jìn)行詳細(xì)的解釋。

AudioRecord

public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)

其中,audioSource表示錄音來源,在AudioSource中列舉了不同的音頻來源,包括:

        		

網(wǎng)友評(píng)論