Как записать вывод AUGraph в файл?

Я пытаюсь написать (каким должно быть) простое приложение, которое последовательно содержит кучу аудиоустройств в 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 в файл?

Спасибо за помощь.

5
задан HowsItStack 21 January 2012 в 07:35
поделиться