remoteIO から記録しようとしていますが、これが私のコールバックです。問題があります... コードは if (*ioActionFlags == kAudioUnitRenderAction_PostRender) に入りません
kAudioUnitRenderAction_PostRender に入るように実際に録音を停止するにはどうすればよいですか? Core Audio には非常に新しいので、これはばかげた質問かもしれません (私は良い感じです ;)) どうもありがとう。
橋脚。
static OSStatus RecordingCallback (
void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags,
const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList * ioData) {
EffectState *effectState = (EffectState*) inRefCon;
// just copy samples
UInt32 bus1 = 1;
CheckError(AudioUnitRender(effectState->rioUnit,
ioActionFlags,
inTimeStamp,
bus1,
inNumberFrames,
ioData),
"Couldn't render from RemoteIO unit");
if (*ioActionFlags == kAudioUnitRenderAction_PostRender)
{
OSStatus result = ExtAudioFileWriteAsync(effectState->outputFile,inNumberFrames,ioData);
if(result) printf("ExtAudioFileWriteAsync %ld \n", result);
}
return noErr;
}