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