Swift AUAudioUnit和AudioUnit的区别是什么

Swift AUAudioUnit和AudioUnit的区别是什么,swift,avfoundation,core-audio,audiotoolbox,Swift,Avfoundation,Core Audio,Audiotoolbox,我看了《关于核心音频》和《道格·怀亚特关于实时音频的29分钟演讲》。因为我正在开发一个高性能的音频应用程序,所以我需要这样做 然而,我注意到他使用了auauaudiounit,但在我用C编写的应用程序中(我更喜欢用C/C++编写音频代码,我遵循下面的步骤) 所以我有3个问题: AudioUnit和AUAudioUnit有什么区别? 据我所知,音频单元是AudioComponent.h中定义的AudioComponentInstance类型,AUAudioUnit是它周围的包装类 为什么我不能在

我看了《关于核心音频》和《道格·怀亚特关于实时音频的29分钟演讲》。因为我正在开发一个高性能的音频应用程序,所以我需要这样做

然而,我注意到他使用了
auauaudiounit
,但在我用C编写的应用程序中(我更喜欢用C/C++编写音频代码,我遵循下面的步骤)

所以我有3个问题:

  • AudioUnit和AUAudioUnit有什么区别? 据我所知,音频单元是AudioComponent.h中定义的AudioComponentInstance类型,AUAudioUnit是它周围的包装类

  • 为什么我不能在C/C++项目中使用AUAUDIONUT?这只是一件迅速的事情吗

  • 如果是,我应该继续在C/C++中开发音频单元图和节点,还是应该切换到Swift类AUAudiounit

1)我认为描述AUAudioUnit和AudioUnit之间区别的最佳方式是,AUAudioUnit是一个Objective-C类,AudioUnit是一组(C/C++)API,它们共同充当AudioUnit框架。 (顺便说一句,AudioUnit现在是AudioToolbox框架的一部分)

2) AUAUAUDIONU是一个Objective-C类。我不知道是否可以从C/C++链接到objc,但如果可以的话,那就不太容易了。根据你的潜在问题,可能甚至不是最好的选择

3) 这实际上取决于您打算对应用程序执行什么操作。CoreAudio&AudioToolBox框架中有很多C/C++API,包括AudioComponent.h。所以,如果这就是您想要的,那么您可以在C/C++应用程序中直接完美地使用它

直接查看CoreAudio&AudioToolbox标题将非常有帮助。里面有很多有用的信息