AUAudioUnit和AVAudioUnit API看起来都非常相似,
有什么不同?什么时候使用哪个?
AVAudioUnit作为AVAudioEngine中的节点连接。AUAudioUnit通常连接在AUGraph中。功能应该相似,因为两者都是音频单元,但是在iOS中使用AVAudioEngine是现代的音频控制方式,因此AVAudioUnits背后具有更现代化的API。
我敢肯定,在某些用例中,一个可以比另一个更可取,但我要说的是使用AVAudioUnits,除非有您不需要的特定内容。AUAudioUnits及其处理图的可定制性很棒,但是以我的经验,学习曲线陡峭,代码更多。我花了许多不眠的夜晚检查我的AUGraphs,但是AVAudioEngine对我来说很友善。
此外,在连接到AVAudioEngine之前,AVAudioNodes以及因此的AVAudioUnits都无法工作,但是您可以使用渲染回调在没有AUGraph的情况下设置AUAudioUnits。