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

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

  1. AudioRecord、AudioTrack

  2. Speex編解碼

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

一、AudioRecord、AudioTrack

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

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

AudioRecord

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

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

        		

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式