AudioUnitRender是什么意思?

shu*_*ren 3 audio core-audio audiounit ios

最近,我正在看aurioTouch.但我无法理解这句话:

OSStatus err = AudioUnitRender (THIS-> rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData); 
Run Code Online (Sandbox Code Playgroud)

根据apple documentaion解释:启动音频单元的渲染周期.但我觉得很暧昧.怎么办?

Nic*_*ick 6

Core Audio在"拉"模式下工作,输出单元通过从连接到其输入总线的单元请求音频样本来启动过程.同样,连接到输出单元的单元要求连接到其输入总线的样本.每个"问"都是渲染周期.

AudioUnitRender()通常传入一个样本缓冲区,音频单元可以选择以某种方式处理这些样本.该缓冲区是函数中的最后一个参数ioData.inNumberFrames是传入的帧数ioData.1是要呈现的输出元素或"总线"(这可能会根据您的配置而改变).rioUnit是正在进行处理的有问题的音频单元.

Apple的Audio Unit Hosting Guide包含一个关于渲染的部分,我发现它很有帮助.