Я пытаюсь написать (каким должно быть) простое приложение, которое последовательно содержит кучу аудиоустройств в AUGraph, а затем записывает результат в файл. Я добавил обратный вызов с помощью AUGraphAddRenderNotify. Вот моя функция обратного вызова:
OSStatus MyAURenderCallback(void *inRefCon,
AudioUnitRenderActionFlags *actionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData) {
if (*actionFlags & kAudioUnitRenderAction_PostRender) {
ExtAudioFileRef outputFile = (ExtAudioFileRef)inRefCon;
ExtAudioFileWriteAsync(outputFile, inNumberFrames, ioData);
}
}
Такого рода работает. Файл можно воспроизводить, и я слышу то, что записал, но есть ужасное количество статического электричества, из-за которого его едва слышно.
Кто-нибудь знает, что с этим не так? Или кто-нибудь знает лучший способ записать вывод AUGraph в файл?
Спасибо за помощь.