最近,我正在看aurioTouch。 但我无法理解这句话:
OSStatus err = AudioUnitRender (THIS-> rioUnit, ioActionFlags, inTimeStamp, 1, inNumberFrames, ioData);
根据apple documentaion解释:启动音频单元的渲染周期。 但我觉得很暧昧。这是做什么的?
答案 0 :(得分:5)
Core Audio在“拉”模式下工作,输出单元通过从连接到其输入总线的单元请求音频样本来启动过程。同样,连接到输出单元的单元要求连接到其输入总线的样本。每个“问”都是渲染周期。
AudioUnitRender()
通常传入一个样本缓冲区,您的音频单元可以选择以某种方式处理这些样本缓冲区。该缓冲区是函数ioData
中的最后一个参数。 inNumberFrames是ioData
传入的帧数。 1
是要呈现的输出元素或“总线”(这可能会根据您的配置而改变)。 rioUnit
是正在进行处理的音频单元。
Apple的Audio Unit Hosting Guide包含有关渲染的部分,我发现它很有帮助。