AudioKit AKNodeRecorder создать пустой аудиофайл - PullRequest
0 голосов
/ 18 ноября 2018

Я занимаюсь разработкой приложения для iOS, и мне нужны некоторые методы обработки звука, поэтому я использовал AudioKit, который потрясающий.Однако мне не удалось использовать AKNodeRecorder при попытке записи эффектов в аудиофайл.

Я пытался использовать AudioKitPlayground (4.5.3) для тестирования AKNodeRecorder, но получил пустой аудиофайл после записи звука, генерируемого «клавиатурой».

Поэтому я создаю проект дляiOS от Xcode (10.1), и добавьте некоторый код Objective-C следующим образом:

........

NSError *error = nil;
AudioFormatID formatId = kAudioFormatLinearPCM;
NSDictionary *dict = @{
                       @"AVFormatIDKey" : @(formatId),
                       @"AVSampleRateKey" : @(44100),
                       @"AVNumberOfChannelsKey" : @(2),
                       };
AKAudioFile *audioFile = [[AKAudioFile alloc] initForWriting:soundFileURL settings:dict error:&error];
if (error) {
    NSLog(@"AKAudioFile init error: %@", error);
}
AKNodeRecorder *akNodeRecorder = [[AKNodeRecorder alloc] initWithNode:self.akMixer file:audioFile error:&error];
if (error) {
    NSLog(@"AKNodeRecorder init error: %@", error);
}
[akNodeRecorder recordAndReturnError:&error];
if (error) {
    NSLog(@"recording error: %@", error);
}
[self.akAudioPlayer playFrom:0.0];
if (self.isChooseBackgroundMusic) {               
    [self.musicPlayer playFrom:0.0];
}
[akNodeRecorder stop];

........

А вот self.akMixer выглядит так:

self.akMixer = [[AKMixer alloc] init:@[self.akAudioPlayer, self.musicPlayer]];

Но я получилтоже пустой файл.

Что-то не так в моем коде или я неправильно понял AKNodeRecorder?Любая помощь?Большое спасибо!

...