版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2018.06.23 |
前言
AudioUnit框架作為您的應(yīng)用程序添加復(fù)雜的音頻操作和處理功能。 創(chuàng)建在主機(jī)應(yīng)用程序中生成或修改音頻的音頻單元擴(kuò)展。接下來(lái)幾篇我們就一起看一下這個(gè)框架,感興趣的看上面幾篇文章。
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所示。 此處顯示的更高級(jí)技術(shù) - Media Player, AV Foundation, OpenAL, and Audio Toolbox - 封裝了音頻單元,為特定任務(wù)提供專(zhuān)用和精簡(jiǎn)的API。

只有在您需要最高程度的控制,性能或靈活性時(shí),或者您需要直接使用音頻單元才能獲得的特定功能(如聲學(xué)回聲消除)時(shí),在項(xiàng)目中直接使用音頻單元才是正確的選擇。 有關(guān)iOS音頻API的概述以及何時(shí)使用每種API的指導(dǎo),請(qǐng)參閱Multimedia Programming Guide。
Audio Units Provide Fast, Modular Audio Processing - 音頻單元提供快速的模塊化音頻處理
當(dāng)您需要以下任一項(xiàng)時(shí),請(qǐng)直接使用音頻單元,而不要通過(guò)更高級(jí)別的API使用音頻單元:
- 具有低延遲實(shí)時(shí)的音頻I / O(輸入和輸出),如VoIP(互聯(lián)網(wǎng)語(yǔ)音協(xié)議)應(yīng)用程序。
- 合成聲音的響應(yīng)回放,例如音樂(lè)游戲或合成樂(lè)器
- 使用特定的音頻單元功能,如聲學(xué)回聲消除,混音或音調(diào)均衡。
- 處理鏈架構(gòu),可讓您將音頻處理模塊組裝到靈活的網(wǎng)絡(luò)中。 這是iOS中唯一提供此功能的音頻API。
Audio Units in iOS - iOS中的Audio Units
iOS提供了七個(gè)音頻單元,按用途分為四類(lèi),如表1-1所示。

您用于以編程方式指定這些音頻單元的標(biāo)識(shí)符列于Identifier Keys for Audio Units。
注意:iOS動(dòng)態(tài)插件架構(gòu)不支持第三方音頻單元。 也就是說(shuō),可用于動(dòng)態(tài)加載的唯一音頻單元是由操作系統(tǒng)提供的。
1. Effect Unit - Effect單元
iOS 4提供了一個(gè)效果單元,iPod Equalizer,內(nèi)置iPod應(yīng)用程序使用的相同均衡器。 要查看該音頻單元的iPod應(yīng)用程序的用戶界面,請(qǐng)轉(zhuǎn)到Settings> iPod> EQ。 使用此音頻單元時(shí),您必須提供您自己的用戶界面。 此音頻單元提供一組預(yù)設(shè)均衡曲線,如低音增強(qiáng)(Bass Booster),流行(Pop)和說(shuō)出字(Spoken Word)。
2. Mixer Units - Mixer單元
iOS提供了兩個(gè)混音器單元。 3D Mixer unit是OpenAL構(gòu)建的基礎(chǔ)。 在大多數(shù)情況下,如果您需要3D混音器單元的功能,最好的選擇是使用OpenAL,它提供更適合游戲應(yīng)用程序的更高級(jí)別的API。 有關(guān)演示如何使用OpenAL的示例代碼,請(qǐng)參閱示例代碼項(xiàng)目oalTouch。
多聲道混音器單元Multichannel Mixer unit為任意數(shù)量的單聲道或立體聲流提供立體聲輸出。 您可以打開(kāi)或關(guān)閉每個(gè)輸入,設(shè)置其輸入增益,并設(shè)置其立體聲聲相位置。 有關(guān)如何使用此音頻單元的演示,請(qǐng)參閱示例代碼項(xiàng)目音頻混音器Audio Mixer (MixerHost)。
3. I/O Units - I/O 單元
iOS提供三個(gè)I / O單元。 遠(yuǎn)程I / O單元Remote I/O unit是最常用的。 它連接到輸入和輸出音頻硬件,并為您提供低延遲訪問(wèn)單個(gè)傳入和傳出音頻采樣值。 它提供了硬件音頻格式和應(yīng)用程序音頻格式之間的格式轉(zhuǎn)換,通過(guò)包含的格式轉(zhuǎn)換器單元Format Converter unit進(jìn)行轉(zhuǎn)換。 有關(guān)演示如何使用遠(yuǎn)程I / O單元的示例代碼,請(qǐng)參閱示例代碼項(xiàng)目aurioTouch。
語(yǔ)音處理I / O單元Voice-Processing I/O unit通過(guò)添加用于VoIP或語(yǔ)音聊天應(yīng)用的聲學(xué)回聲消除來(lái)擴(kuò)展遠(yuǎn)程I / O單元。 它還提供自動(dòng)增益校正,語(yǔ)音處理質(zhì)量調(diào)整和靜音。
通用輸出單元Generic Output unit不連接到音頻硬件,而是提供將處理鏈輸出發(fā)送到應(yīng)用程序的機(jī)制。 您通常會(huì)使用通用輸出單元進(jìn)行離線音頻處理。
4. Format Converter Unit - 格式轉(zhuǎn)換單元
iOS 4提供了一個(gè)格式轉(zhuǎn)換器單元(Format Converter unit),它通常通過(guò)I / O單元間接使用。
后記
本篇主要講述了iOS中的
Audio Units,感興趣的給個(gè)贊或者關(guān)注~~~~
