iOS採集錄製音視頻API選擇推薦

需求

對於整個iOS體系中音視頻衆多框架,咱們不該該盲目選擇,針對音視頻的採集錄製,須要根據本身的實際需求選擇最適合項目的API,以至於最高效的完成項目任務.ios

如下是一些主要中低層框架的選擇推薦與原理講述,代碼實戰,能夠經過如下連接瞭解你須要的,也能夠從文中連接找到對應文章,去github下載相應的Demo幫助你快速開發.git


iOS中音頻架構圖

3.CoreAudioLevel

1.上層API

對於僅僅想直接播放個音頻或視頻的需求,沒有必要使用底層的API,這些API能夠簡單的直接調用一些相似start,stop,設置一些資源文件路徑就能夠作錄製與播放.github

  • 視頻播放:AVPlayer
  • 視頻錄製:UIImagePickerController
  • 音頻播放:AVAudioPlayer
  • 音頻錄製:AVAudioRecorder

以上API如需瞭解使用自行百度,簡單易用.架構

2.中層API

若是想採集到視頻幀,音頻幀加以利用,須要使用一些中層的API,對於採集而言,視頻最底層即AVCaptureSession,咱們能夠經過回調函數拿到指定格式的音頻視頻.錄製基本也同理.但對音頻而言,若是不對音頻有太多具體設置,僅僅作同步,能夠直接使用AVCaputureSession中的音頻採集.框架

3.底層,功能最多的API

音頻採集方面還能夠使用更底層,更好用的Audio Queue, Audio Unit.post

  • 音頻採集/播放: Audio Queue, Audio Unit
  • 音頻錄製: Audio File -簡書,掘金,博客

Audio Queue與Audio Unit的選擇cdn

  • Audio Queue: 以隊列的形式高效採集音頻數據,能夠直接設置採集PCM,AAC等壓縮,未壓縮類型格式音頻數據.
  • Audio Unit: 比起Audio Queue, 提供更加專業音頻處理,支持混合,均衡,格式轉換和實時輸入/輸出,用於錄製,播放,離線渲染和實時對話,例如VoIP(互聯網協議語音).能夠從iOS應用程序動態加載和使用它.
相關文章
相關標籤/搜索