我有一个大型项目The Amazing Audio Engine 2.我一直在努力让Inter-App-Audio集成,并希望迁移到AudioKit 3.
挣扎,意思是,它集成了,但是一旦我选择它作为生成器,渲染就会停止,引擎处于禁用状态.
与音频系统有哪些主要区别?TAAE2使用模块,每个模块都有一个渲染块,可以从渲染堆栈中推送和弹出音频缓冲区.
AudioKit如何呈现音频?在高级别上,将AEModules迁移到Audiokit对象会涉及什么?
对于音频渲染,它本质上是 AVAudioEngine、AUAudioUnit、AVAudioUnit 和 AVAudioNode 的包装器。它被概念化为渲染链而不是堆栈,但最终结果是相同的。您可以使用系统音频单元,也可以通过创建 AUAudioUnit 子类来注册自己的音频单元。
渲染链的工作方式大致相同,但使用基于块的 API。您无需子类化 AEAudioUnitModule 并将 processFunction 设置为 C 函数(在其中从渲染器中提取缓冲区列表和时间戳),而是子类化 AUAudioUnit 并实现internalRenderBlock,在其中返回一个块,该块将使用缓冲区和时间戳作为块的参数进行调用。您可以在该块中进行大部分移植。
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |