オーディオ グラフでリモート I/O ユニットからオーディオをキャプチャしようとしているコールバックがあります。コールバック内には、2 つのチャネルからのインターリーブされていないデータを格納する必要がAudioBufferList
ある関数があります。AudioUnitRender
コンテキストのコード スニペットを次に示します。
//audiounit render function inside of a callback
OSStatus status;
status = AudioUnitRender(THIS.ioUnit,
ioActionFlags,
inTimeStamp,
0,
inNumberFrames,
&bufferList);
//want to initialize and configure bufferList to store non-interleaved data from both channels
...
//write audio data to disk
OSStatus result;
if (*ioActionFlags == kAudioUnitRenderAction_PostRender) {
result = ExtAudioFileWriteAsync(THIS.extAudioFileRef, inNumberFrames, &bufferList);
if(result) printf("ExtAudioFileWriteAsync %ld \n", result);}
return noErr;
誰もこれを行う方法を知っていますか?
ありがとう。