AUGraph弃用是否意味着不再有音频渲染回调?

时间:2019-06-26 18:04:55

标签: audio core-audio avaudioengine ios13 augraph

我有一个带有复杂渲染回调的应用程序,我怀疑它可以与AVAudioEngine一起使用。

是否可以将我的AUGraph渲染回调(带有多条总线)与AVAudioEngine一起使用?

任何示例代码吗?

2 个答案:

答案 0 :(得分:2)

(不推荐使用的)V3 AUAudioUnit子类仍可以返回支持音频渲染回调的AUInternalRenderBlock。然后,AVAudioEngine API可以将这些音频单元(例如,连接到混音器节点)。在iOS上,Audio Unit V3渲染功能似乎仍然允许较短的缓冲区(少于500个样本)用于近实时音频合成和分析。

在GitHub上看到我的V3 AU示例应用程序(混合了Swift和Objective C):https://github.com/hotpaw2/auv3test5

答案 1 :(得分:1)

Audio Unit API不被弃用,仅被认为是基于AUGraph建立的。

使用带有AudioUnitSetProperty结构的kAudioUnitProperty_MakeConnectionkAudioUnitProperty_SetRenderCallback来建立连接。

使用AudioUnitConnectionAudioOutputUnitStart启动和停止输出单元。

使用AudioOutputUnitStop和{{1}}和AudioUnitSetProperty设置渲染回调

除了一点点簿记和更简单的连接语法外,AUGraph确实没有给您带来太多好处。