我有一个带有复杂渲染回调的应用程序,我怀疑它可以与AVAudioEngine一起使用。
是否可以将我的AUGraph渲染回调(带有多条总线)与AVAudioEngine一起使用?
任何示例代码吗?
答案 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_MakeConnection
和kAudioUnitProperty_SetRenderCallback
来建立连接。
使用AudioUnitConnection和AudioOutputUnitStart启动和停止输出单元。
使用AudioOutputUnitStop和{{1}}和AudioUnitSetProperty设置渲染回调
除了一点点簿记和更简单的连接语法外,AUGraph确实没有给您带来太多好处。