版本記錄
版本號 | 時(shí)間 |
---|---|
V1.0 | 2018.06.25 |
前言
AudioUnit框架作為您的應(yīng)用程序添加復(fù)雜的音頻操作和處理功能蚕断。 創(chuàng)建在主機(jī)應(yīng)用程序中生成或修改音頻的音頻單元擴(kuò)展欢伏。接下來幾篇我們就一起看一下這個(gè)框架,感興趣的看上面幾篇文章亿乳。
1. AudioUnit框架詳細(xì)解析(一) —— 基本概覽
2. AudioUnit框架詳細(xì)解析(二) —— 關(guān)于Audio Unit Hosting之概覽(一)
3. AudioUnit框架詳細(xì)解析(三) —— 關(guān)于Audio Unit Hosting之如何使用本文檔和參考資料(二)
4. AudioUnit框架詳細(xì)解析(四) —— 音頻單元提供快速的模塊化音頻處理之iOS中的Audio Units(一)
5. AudioUnit框架詳細(xì)解析(五) —— 音頻單元提供快速的模塊化音頻處理之在Concert中使用兩個(gè)音頻單元API(二)
6. AudioUnit框架詳細(xì)解析(六) —— 音頻單元提供快速的模塊化音頻處理之使用標(biāo)識符來指定和獲取音頻單元(三)
7. AudioUnit框架詳細(xì)解析(七) —— 音頻單元提供快速的模塊化音頻處理之使用范圍和元素來指定音頻單元的部分(四)
8. AudioUnit框架詳細(xì)解析(八) —— 音頻單元提供快速的模塊化音頻處理之使用屬性來配置音頻單元(五)
9. AudioUnit框架詳細(xì)解析(九) —— 音頻單元提供快速的模塊化音頻處理之使用參數(shù)和UIKit為用戶提供控制(六)
Essential Characteristics of I/O Units - I / O單元的基本特性
I / O單元是每種音頻單元應(yīng)用程序中使用的一種類型的音頻單元硝拧,并且在幾種方式上都不一樣。 由于這兩個(gè)原因葛假,您必須熟悉I / O單元的基本特性障陶,才能獲得音頻單元編程的便利。
一個(gè)I / O單元恰好包含兩個(gè)元素桐款,如圖1-3所示咸这。
雖然這兩個(gè)元素是一個(gè)音頻單元的一部分,但您的應(yīng)用程序在很大程度上將它們視為獨(dú)立實(shí)體魔眨。 例如媳维,根據(jù)應(yīng)用程序的需要酿雪,您可以使用啟用I / O屬性(kAudioOutputUnitProperty_EnableIO)
來獨(dú)立啟用或禁用每個(gè)元素。
I / O
單元的Element 1
直接連接到設(shè)備上的音頻輸入硬件侄刽,如圖中用麥克風(fēng)表示指黎。 這個(gè)硬件連接 - 在element 1
的輸入范圍內(nèi) - 對你來說是不透明的。 您從輸入硬件首次訪問輸入的音頻數(shù)據(jù)位于元素1的輸出范圍州丹。
類似地醋安,I / O單元的Element 0
直接連接設(shè)備上的音頻輸出硬件,由揚(yáng)聲器表示在圖1-3中墓毒。 您可以將音頻傳送到element 0
的輸入范圍吓揪,但其輸出范圍不透明。
使用音頻單元時(shí)所计,您經(jīng)常會(huì)聽到I / O單元的兩個(gè)元素柠辞,而不是它們的編號描述的,而是通過名稱來描述:
- 輸入元素input element是元素1(助記符:單詞
Input
的字母I
具有類似于數(shù)字1
的外觀) - 輸出元素output element為元素0(助記符:單詞
Output
的字母O
具有類似于數(shù)字0
的外觀)
如圖1-3所示主胧,每個(gè)元素本身都有一個(gè)輸入范圍和一個(gè)輸出范圍叭首。 出于這個(gè)原因,描述I / O單元的這些部分可能會(huì)有點(diǎn)混亂踪栋。 例如焙格,您可以說在一個(gè)I / O同步應(yīng)用程序中,您將從輸入元素的輸出范圍接收音頻夷都,并將音頻發(fā)送到輸出元素的輸入范圍眷唉。 當(dāng)你需要時(shí),回到這個(gè)圖查看损肛。
最后厢破,I / O單元是唯一能夠在音頻處理圖表中啟動(dòng)和停止音頻流的音頻單元。 這樣治拿,I / O單元負(fù)責(zé)音頻單元應(yīng)用程序中的音頻流摩泪。
后記
本篇主要講述了I / O單元的基本特性,感興趣的給個(gè)贊或者關(guān)注~~~~