版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.06.24 |
前言
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之如何使用本文檔和參考資料(二)
4. AudioUnit框架詳細(xì)解析(四) —— 音頻單元提供快速的模塊化音頻處理之iOS中的Audio Units(一)
5. AudioUnit框架詳細(xì)解析(五) —— 音頻單元提供快速的模塊化音頻處理之在Concert中使用兩個音頻單元API(二)
6. AudioUnit框架詳細(xì)解析(六) —— 音頻單元提供快速的模塊化音頻處理之使用標(biāo)識符來指定和獲取音頻單元(三)
Use Scopes and Elements to Specify Parts of Audio Units - 使用范圍和元素來指定音頻單元的部分
音頻單元的各個部分被組織成范圍和元素,如圖1-2所示坦辟。 當(dāng)調(diào)用一個函數(shù)來配置或控制音頻單元時刊侯,可以指定范圍和元素來標(biāo)識函數(shù)的特定目標(biāo)。
范圍scope是音頻單元中的編程上下文锉走。 雖然名稱global scope
可能建議使用滨彻,但這些上下文從不嵌套。 您可以通過使用Audio Unit Scopes
枚舉中的常量來指定要定向的范圍挪蹭。
元素element是嵌套在音頻單元范圍內(nèi)的編程上下文亭饵。 當(dāng)元素是輸入或輸出范圍的一部分時,它類似于物理音頻設(shè)備中的信號總線 - 因此有時稱為總線梁厉。 這兩個術(shù)語 - 元素和總線(element and bus)
- 在音頻單元編程中指向完全相同的東西辜羊。 本文檔在強(qiáng)調(diào)信號流時使用bus
,并在強(qiáng)調(diào)音頻單元的特定功能方面(如I / O單元的輸入和輸出單元)時使用element
(請參閱Essential Characteristics of I/O Units
)词顾。
您可以通過零索引整數(shù)值指定一個元素(或總線)八秃。 如果設(shè)置作為一個整體適用于作用域的屬性或參數(shù),請指定元素值為0肉盹。
圖1-2說明了音頻單元的一種通用架構(gòu)昔驱,其中輸入和輸出上的元素?cái)?shù)量相同。 但是上忍,各種音頻單元使用各種體系結(jié)構(gòu)骤肛。 例如,混合器單元可能具有多個輸入elements窍蓝,但具有單個輸出elements萌衬。 盡管體系結(jié)構(gòu)有所不同,您可以將您在此學(xué)到的有關(guān)scopes and elements
的內(nèi)容擴(kuò)展到任何音頻單元它抱。
圖1-2底部顯示的global scope
適用于整個音頻單元,并且不與任何特定的音頻流關(guān)聯(lián)朴艰。 它只有一個元素观蓄,即元素0混移。某些屬性(如每個切片的最大幀數(shù)(kAudioUnitProperty_MaximumFramesPerSlice)
)僅適用于global scope
。
輸入和輸出scope
直接參與通過音頻單元移動一個或多個音頻流侮穿。 正如您所期望的那樣歌径,音頻在輸入范圍輸入并在輸出范圍離開。 例如亲茅,屬性或參數(shù)可以作為整體應(yīng)用于輸入或輸出范圍回铛,如元素計(jì)數(shù)屬性(kAudioUnitProperty_ElementCount)
的情況。 其他屬性和參數(shù)(例如克锣,啟用I / O屬性(kAudioOutputUnitProperty_EnableIO)
或卷參數(shù)(kMultiChannelMixerParam_Volume)
)適用于范圍內(nèi)的特定元素茵肃。
后記
本篇主要講述了使用范圍和元素來指定音頻單元的部分,感興趣的給個贊或者關(guān)注~~~~