需求
對於整個iOS體系中音視訊眾多框架,我們不應該盲目選擇,針對音視訊的採集錄製,需要根據自己的實際需求選擇最適合專案的API,以致於最高效的完成專案任務.
以下是一些主要中低層框架的選擇推薦與原理講述,程式碼實戰,可以通過以下連結瞭解你需要的,也可以從文中連結找到對應文章,去github下載相應的Demo幫助你快速開發.
iOS中音訊架構圖
1.上層API
對於僅僅想直接播放個音訊或視訊的需求,沒有必要使用底層的API,這些API可以簡單的直接呼叫一些類似start,stop,設定一些資原始檔路徑就可以做錄製與播放.
- 視訊播放:AVPlayer
- 視訊錄製:UIImagePickerController
- 音訊播放:AVAudioRecorder
- 音訊錄製:AVAudioPlayer
以上API如需瞭解使用自行百度,簡單易用.
2.中層API
如果想採集到視訊幀,音訊幀加以利用,需要使用一些中層的API,對於採集而言,視訊最底層即AVCaptureSession,我們可以通過回撥函式拿到指定格式的音訊視訊.錄製基本也同理.但對音訊而言,如果不對音訊有太多具體設定,僅僅做同步,可以直接使用AVCaputureSession中的音訊採集.
-
音視訊採集: AVCaptureSession
3.底層,功能最多的API
音訊採集方面還可以使用更底層,更好用的Audio Queue, Audio Unit.
Audio Queue與Audio Unit的選擇