版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2018.07.02 |
前言
AudioUnit框架作為您的應用程序添加復雜的音頻操作和處理功能。 創(chuàng)建在主機應用程序中生成或修改音頻的音頻單元擴展蝗拿。接下來幾篇我們就一起看一下這個框架晾捏,感興趣的看上面幾篇文章。
1. AudioUnit框架詳細解析(一) —— 基本概覽
2. AudioUnit框架詳細解析(二) —— 關于Audio Unit Hosting之概覽(一)
3. AudioUnit框架詳細解析(三) —— 關于Audio Unit Hosting之如何使用本文檔和參考資料(二)
4. AudioUnit框架詳細解析(四) —— 音頻單元提供快速的模塊化音頻處理之iOS中的Audio Units(一)
5. AudioUnit框架詳細解析(五) —— 音頻單元提供快速的模塊化音頻處理之在Concert中使用兩個音頻單元API(二)
6. AudioUnit框架詳細解析(六) —— 音頻單元提供快速的模塊化音頻處理之使用標識符來指定和獲取音頻單元(三)
7. AudioUnit框架詳細解析(七) —— 音頻單元提供快速的模塊化音頻處理之使用范圍和元素來指定音頻單元的部分(四)
8. AudioUnit框架詳細解析(八) —— 音頻單元提供快速的模塊化音頻處理之使用屬性來配置音頻單元(五)
9. AudioUnit框架詳細解析(九) —— 音頻單元提供快速的模塊化音頻處理之使用參數(shù)和UIKit為用戶提供控制(六)
10. AudioUnit框架詳細解析(十) —— 音頻單元提供快速的模塊化音頻處理之I / O單元的基本特性(七)
11. AudioUnit框架詳細解析(十一) —— 音頻處理圖管理音頻單元之音頻處理圖具有一個I / O單元(一)
12. AudioUnit框架詳細解析(十二) —— 音頻處理圖管理音頻單元之音頻處理圖提供線程安全性(二)
13. AudioUnit框架詳細解析(十三) —— 音頻處理圖管理音頻單元之音頻使用Pull通過圖表(三)
14. AudioUnit框架詳細解析(十四) —— 呈現(xiàn)回調函數(shù)將音頻饋送到音頻單元之了解音頻單元呈現(xiàn)回調函數(shù)(一)
15. AudioUnit框架詳細解析(十五) —— 音頻流格式啟用數(shù)據(jù)流之使用AudioStreamBasicDescription結構(一)
16. AudioUnit框架詳細解析(十六) —— 音頻流格式啟用數(shù)據(jù)流之了解何處以及如何設置流格式(二)
Constructing Audio Unit Apps - 構建音頻單元應用程序
現(xiàn)在您已了解音頻單元host的工作方式哀托,如Audio Unit Hosting Fundamentals
中所述惦辛,您已準備好構建應用程序的音頻單元部分。 主要步驟是選擇設計模式萤捆,然后編寫代碼來實現(xiàn)該模式裙品。
Start by Choosing a Design Pattern - 從選擇設計模式開始
在iOS應用程序中host音頻單元有六種基本設計模式俗批。首先選擇最能代表您希望應用處理音頻的內(nèi)容。在您學習每種模式時市怎,請注意常見功能岁忘。每種模式:
- 只有一個I / O單元。
- 在整個音頻處理圖中使用單一音頻流格式 - 雖然可能會有這種格式的變化区匠,例如提供混音器單元的單聲道和立體聲流干像。
- 要求您在特定位置設置流格式或部分流格式。
正確設置流格式對于建立音頻數(shù)據(jù)流至關重要驰弄。這些模式中的大多數(shù)依賴于音頻流格式從源到目的地的自動傳播麻汰,如由音頻單元連接提供的。盡可能利用此傳播戚篙,因為它減少了要編寫和維護的代碼量五鲫。同時,請確保您了解需要設置流格式的位置岔擂。例如位喂,您必須在iPod EQ
設備的輸入和輸出上設置完整的流格式。有關所有iOS音頻單元流格式要求乱灵,請參閱Using Specific Audio Units
中的使用表塑崖。
在大多數(shù)情況下,本章中的設計模式使用了音頻處理圖形(AUGraph
類型)痛倚。 您可以在不使用圖形的情況下實現(xiàn)這些模式中的任何一種规婆,但使用這些模式可以簡化代碼并支持動態(tài)重新配置,如Audio Processing Graphs Manage Audio Units
中所述蝉稳。
I/O Pass Through - I/O 傳遞
I / O傳遞模式將傳入的音頻直接發(fā)送到輸出硬件抒蚜,無法使用音頻數(shù)據(jù)。 雖然這并沒有太大的實用價值颠区,但根據(jù)此模式構建音頻單元hosting應用程序是驗證和鞏固您對音頻單元概念理解的好方法削锰。 圖2-1說明了這種模式通铲。
如圖所示毕莱,音頻輸入硬件在遠程I / O單元的輸入單元的外側面施加了其流格式。您反過來在該元素的內(nèi)側指定要使用的格式颅夺。音頻單元根據(jù)需要執(zhí)行格式轉換朋截。為避免不必要的采樣率轉換,請務必在定義流格式時使用音頻硬件采樣率吧黄。
輸入元素默認是禁用的部服,所以一定要啟用它;否則拗慨,音頻無法流動廓八。
圖2-1中顯示的模式利用了兩個Remote I/O
單元之間的音頻單元連接奉芦。具體而言,您不要在音頻單元的輸出元素的輸入范圍上設置流格式剧蹂。連接傳播您為輸入元素指定的格式声功。
輸出element的外側面呈現(xiàn)音頻輸出硬件的流格式,并且輸出element根據(jù)需要執(zhí)行輸出音頻的格式轉換宠叼。
使用這種模式先巴,您不需要配置任何音頻數(shù)據(jù)緩沖區(qū)。
后記
本篇主要講述了I / O傳遞冒冬,感興趣的給個贊或者關注~~~~