AUAudioUnit 和 AudioUnit 有什么区别

What is the difference between AUAudioUnit and AudioUnit

我看到了关于 Core Audio 的 WDC 2016 conference 并且从第 29 分钟开始,Doug Wyatt 谈论了实时音频。因为我正在开发一个高性能的音频应用程序,所以我需要这样做。

但是我注意到他使用了 AUAudioUnit 但在我的 C 应用程序中(我更喜欢使用 C/C++ 作为音频代码并且我遵循 Chris Adamson advices)。

所以我有 3 个问题:

1) 我认为描述 AUAudioUnit 和 AudioUnit 之间区别的最好方式是 AUAudioUnit 是一个 Objective-C class 而 AudioUnit 是一组 (C/C++) API 一起充当 AudioUnit 框架。 (BTW AudioUnit 现在是 AudioToolbox 框架的一部分)

2) AUAudioUnit 是一个 Objective-C class。我不知道是否可以从 link 到 objc 从 C/C++ 但如果是这样,那将不是很容易做到。根据您的潜在问题,可能甚至不是最好的办法。

3) 这实际上取决于您打算如何处理您的应用程序。 CoreAudio & AudioToolBox 框架中有很多 C/C++ API,包括 AudioComponent.h。因此,如果这就是您要找的东西,您可以直接在 C/C++ 应用程序中完美地使用它。

直接查看 CoreAudio & AudioToolbox headers 对我很有帮助。里面有很多有用的信息。