RenderDelegate 委托

定义

向 AudioUnit 提供音频样本的 AudioUnit 回调使用的签名。

public delegate AudioUnit.AudioUnitStatus RenderDelegate(AudioUnitRenderActionFlags actionFlags, AudioTimeStamp timeStamp, uint busNumber, uint numberFrames, AudioBuffers data);
type RenderDelegate = delegate of AudioUnitRenderActionFlags * AudioTimeStamp * uint32 * uint32 * AudioBuffers -> AudioUnitStatus

参数

actionFlags
AudioUnitRenderActionFlags

此调用操作的上下文。

timeStamp
AudioTimeStamp

此呈现操作的时间戳。

busNumber
UInt32

总线编号。

numberFrames
UInt32

帧数。

data
AudioBuffers

将保存数据的 AudioBuffer。

返回值

OSX/iOS 状态代码。

注解

void SetupRender ()
{
    var convertNode = auGraph.AddNode (AudioComponentDescription.CreateConverter (AudioTypeConverter.AU));
    var convertUnit = auGraph.GetNodeInfo (convertToEffectNode);

    convertUnit.SetRenderCallback (ConvertInputRenderCallback, AudioUnitScopeType.Global) 
}

AudioUnitStatus ConvertInputRenderCallback (AudioUnitRenderActionFlags actionFlags, AudioTimeStamp timeStamp, uint busNumber, uint numberFrames, AudioBuffers data)
{
    data.SetData (0, preRenderData);
    return AudioUnitStatus.NoError;
}

适用于