版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.06.23 |
前言
AudioUnit框架作為您的應(yīng)用程序添加復(fù)雜的音頻操作和處理功能祸轮。 創(chuàng)建在主機(jī)應(yīng)用程序中生成或修改音頻的音頻單元擴(kuò)展。接下來幾篇我們就一起看一下這個框架哀峻,感興趣的看上面幾篇文章涡相。
1. AudioUnit框架詳細(xì)解析(一) —— 基本概覽
2. AudioUnit框架詳細(xì)解析(二) —— 關(guān)于Audio Unit Hosting之概覽(一)
3. AudioUnit框架詳細(xì)解析(三) —— 關(guān)于Audio Unit Hosting之如何使用本文檔和參考資料(二)
Audio Unit Hosting Fundamentals - 音頻單元Hosting基礎(chǔ)
iOS中的所有音頻技術(shù)都建立在audio units
之上,如圖1-1所示剩蟀。 此處顯示的更高級技術(shù) - Media Player, AV Foundation, OpenAL, and Audio Toolbox
- 封裝了音頻單元催蝗,為特定任務(wù)提供專用和精簡的API。
只有在您需要最高程度的控制育特,性能或靈活性時丙号,或者您需要直接使用音頻單元才能獲得的特定功能(如聲學(xué)回聲消除)時,在項目中直接使用音頻單元才是正確的選擇。 有關(guān)iOS音頻API的概述以及何時使用每種API的指導(dǎo)犬缨,請參閱Multimedia Programming Guide
喳魏。
Audio Units Provide Fast, Modular Audio Processing - 音頻單元提供快速的模塊化音頻處理
當(dāng)您需要以下任一項時,請直接使用音頻單元怀薛,而不要通過更高級別的API使用音頻單元:
- 具有低延遲實時的音頻I / O(輸入和輸出)刺彩,如VoIP(互聯(lián)網(wǎng)語音協(xié)議)應(yīng)用程序。
- 合成聲音的響應(yīng)回放枝恋,例如音樂游戲或合成樂器
- 使用特定的音頻單元功能迂苛,如聲學(xué)回聲消除,混音或音調(diào)均衡鼓择。
- 處理鏈架構(gòu)三幻,可讓您將音頻處理模塊組裝到靈活的網(wǎng)絡(luò)中。 這是iOS中唯一提供此功能的音頻API呐能。
Audio Units in iOS - iOS中的Audio Units
iOS提供了七個音頻單元念搬,按用途分為四類,如表1-1所示摆出。
您用于以編程方式指定這些音頻單元的標(biāo)識符列于Identifier Keys for Audio Units
朗徊。
注意:iOS動態(tài)插件架構(gòu)不支持第三方音頻單元。 也就是說偎漫,可用于動態(tài)加載的唯一音頻單元是由操作系統(tǒng)提供的爷恳。
1. Effect Unit - Effect單元
iOS 4提供了一個效果單元,iPod Equalizer
象踊,內(nèi)置iPod應(yīng)用程序使用的相同均衡器温亲。 要查看該音頻單元的iPod應(yīng)用程序的用戶界面,請轉(zhuǎn)到Settings> iPod> EQ
杯矩。 使用此音頻單元時栈虚,您必須提供您自己的用戶界面。 此音頻單元提供一組預(yù)設(shè)均衡曲線史隆,如低音增強(qiáng)(Bass Booster)
魂务,流行(Pop)
和說出字(Spoken Word)
。
2. Mixer Units - Mixer單元
iOS提供了兩個混音器單元泌射。 3D Mixer unit
是OpenAL
構(gòu)建的基礎(chǔ)粘姜。 在大多數(shù)情況下,如果您需要3D混音器單元的功能熔酷,最好的選擇是使用OpenAL
孤紧,它提供更適合游戲應(yīng)用程序的更高級別的API。 有關(guān)演示如何使用OpenAL
的示例代碼纯陨,請參閱示例代碼項目oalTouch
坛芽。
多聲道混音器單元Multichannel Mixer unit
為任意數(shù)量的單聲道或立體聲流提供立體聲輸出留储。 您可以打開或關(guān)閉每個輸入翼抠,設(shè)置其輸入增益咙轩,并設(shè)置其立體聲聲相位置。 有關(guān)如何使用此音頻單元的演示阴颖,請參閱示例代碼項目音頻混音器Audio Mixer (MixerHost)
活喊。
3. I/O Units - I/O 單元
iOS提供三個I / O單元。 遠(yuǎn)程I / O單元Remote I/O unit
是最常用的量愧。 它連接到輸入和輸出音頻硬件钾菊,并為您提供低延遲訪問單個傳入和傳出音頻采樣值。 它提供了硬件音頻格式和應(yīng)用程序音頻格式之間的格式轉(zhuǎn)換偎肃,通過包含的格式轉(zhuǎn)換器單元Format Converter unit
進(jìn)行轉(zhuǎn)換煞烫。 有關(guān)演示如何使用遠(yuǎn)程I / O單元的示例代碼,請參閱示例代碼項目aurioTouch
累颂。
語音處理I / O單元Voice-Processing I/O unit
通過添加用于VoIP或語音聊天應(yīng)用的聲學(xué)回聲消除來擴(kuò)展遠(yuǎn)程I / O單元滞详。 它還提供自動增益校正,語音處理質(zhì)量調(diào)整和靜音紊馏。
通用輸出單元Generic Output unit
不連接到音頻硬件料饥,而是提供將處理鏈輸出發(fā)送到應(yīng)用程序的機(jī)制。 您通常會使用通用輸出單元進(jìn)行離線音頻處理朱监。
4. Format Converter Unit - 格式轉(zhuǎn)換單元
iOS 4提供了一個格式轉(zhuǎn)換器單元(Format Converter unit)
岸啡,它通常通過I / O單元間接使用。
后記
本篇主要講述了iOS中的
Audio Units
赫编,感興趣的給個贊或者關(guān)注~~~~