static int renderCallback(IntPtr inRefCon, ref AudioUnit.AudioUnitRenderActionFlags _ioActionFlags, ref AudioTimeStamp _inTimeStamp, uint _inBusNumber, uint _inNumberFrames, AudioBufferList _ioData) { // getting audiounit instance var handler = GCHandle.FromIntPtr(inRefCon); var inst = (AUGraph)handler.Target; // evoke event handler with an argument if (inst.RenderCallback != null) { var args = new AudioGraphEventArgs( _ioActionFlags, _inTimeStamp, _inBusNumber, _inNumberFrames, _ioData); inst.RenderCallback(inst, args); } return(0); // noerror }
static int renderCallback(IntPtr inRefCon, ref AudioUnit.AudioUnitRenderActionFlags _ioActionFlags, ref AudioTimeStamp _inTimeStamp, uint _inBusNumber, uint _inNumberFrames, AudioBufferList _ioData) { // getting audiounit instance var handler = GCHandle.FromIntPtr(inRefCon); var inst = (AUGraph)handler.Target; // evoke event handler with an argument if (inst.RenderCallback != null) { var args = new AudioGraphEventArgs( _ioActionFlags, _inTimeStamp, _inBusNumber, _inNumberFrames, _ioData); inst.RenderCallback(inst, args); } return 0; // noerror }
void _auGraph_RenderCallback(object sender, AudioGraphEventArgs e) { // is Post Render ? if ((e.ActionFlags & AudioUnitRenderActionFlags.PostRender) != 0) { /* if (_isRecording) { // reading buffer _extAudioFile.WriteAsync(e.NumberFrames, e.Data); }*/ } }