iOS 音視頻開發(fā)(一)常用音視頻框架介紹

文章規(guī)劃

iOS 音視頻開發(fā)(一)常用音視頻框架介紹(本篇)

iOS 音視頻開發(fā)(二)AVAudioRecorder實(shí)現(xiàn)錄音功能

iOS 音視頻開發(fā)(三)MediaPlayer播放本地、遠(yuǎn)程音頻

iOS 音視頻開發(fā)(四)MediaPlayer播放本地、遠(yuǎn)程視頻

iOS 音視頻開發(fā)(五)AVAudioPlayer/AVPlayer播放本地、遠(yuǎn)程音頻

iOS 音視頻開發(fā)(六)AVPlayer播放本地、遠(yuǎn)程視頻

iOS 音視頻開發(fā)(七)AudioToolbox音效播放

iOS 開發(fā)中常用的音視頻框架有五個:

  1. MediaPlayer
  2. AudioToolbox
  3. AVFoundation
  4. AudioUnit
  5. VideoToolbox

下面簡單介紹一下各個框架:

MediaPlayer 框架
MediaPlayer 框架是 iOS 平臺上一個用于音頻和視頻播放的高層級接口,它包含了用戶界面。你可以使用它來播放用戶在 iPod 庫中的項(xiàng)目,或者播放本地文件以及網(wǎng)絡(luò)文件。

另外,這個框架也包括了查找用戶媒體庫中內(nèi)容的 API,同時還可以配置像是在鎖屏界面或者控制中心里的音頻控件。

AudioToolbox框架
AudioToolbox 這個庫是C的接口,偏向于底層,用于在線流媒體音樂的播放,可以調(diào)用該庫的相關(guān)接口自己封裝一個在線播放器類。

AVFoundation框架
是蘋果的現(xiàn)代媒體框架,它包含了一些不同的用途的 API 。其中有一些是現(xiàn)代 Objective-C 對于底層 C 語言接口的封裝。除了少數(shù)的例外情況,AVFoundation 可以同時在 iOS 和 OS X 中使用。

AudioUnit 框架
Audio Unit 框架是一個底層的 API。所有 iOS 中的音頻技術(shù)都構(gòu)建在 Audio Unit 這個框架之上。音頻單元是用來加工音頻數(shù)據(jù)的插件。一個音頻單元鏈叫做音頻處理圖。

如果你需要非常低的延遲 (如 VoIP 或合成樂器)、回聲消除、混音或者音調(diào)均衡的話,你可能需要直接使用音頻單元,或者自己寫一個音頻單元。但是其中的大部分工作可以使用 AVFoundation 的 AVAudioEngine 的 API 來完成。如果你不得不寫自己的音頻單元的話,你可以將它們與 AVAudioUnit 節(jié)點(diǎn)一起集成在 AVAudioEngine 處理圖中。

跨應(yīng)用程序音頻:Audio Unit 的 API 可以在 iOS 中進(jìn)行跨應(yīng)用音頻。音頻流 (和 MIDI 命令) 可以在應(yīng)用程序之間發(fā)送。比如說:一個應(yīng)用程序可以提供音頻的效果器或者濾波器。另一個應(yīng)用程序可以將它的音頻發(fā)送到第一個應(yīng)用程序中,并使用其中的音頻效果器處理音頻。被過濾的音頻又會被實(shí)時地發(fā)送回原來的應(yīng)用程序中。 CoreAudioKit 提供了一個簡單的跨應(yīng)用程序的音頻界面。

VideoToolbox 框架
常用于流媒體直播,推流時對視頻進(jìn)行H264編解、解碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容