RenderDelegate 委托
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
向 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;
}