AudioKit AKTimePitch не работает для перекодированного файла example.m4a - PullRequest
0 голосов
/ 04 ноября 2018

Я создаю приложение на iOS с помощью AudioKit (версия 4.5.3) и обнаруживаю, что класс AKTimePitch у меня не работает, вот мой код (target-c xcode 10):

(IBAction)startButton:(id)sender {
    NSURL *url = [[NSBundle mainBundle] URLForResource:@"burncalory" withExtension:@"m4a"];
    AKAudioFile *file = [[AKAudioFile alloc] initForReading:url error:nil];
    AKAudioPlayer *player = [[AKAudioPlayer alloc] initWithFile:file looping:NO lazyBuffering:YES error:nil completionHandler:^{
        NSLog(@"Finished!");
    }];

    AKTimePitch *akTimePitch = [[AKTimePitch alloc] init:player rate:2.0 pitch:1600 overlap:8];
    AudioKit.output = akTimePitch;
    [akTimePitch start];
    [AudioKit startAndReturnError:nil];
    [player playFrom:0.0];
}

Я проверяю игровую площадку (4.5.3), и образец "Time Stretching and Pitch Shifting" работает хорошо.

Что-то не так в моем коде для использования AKTimePitch или что-то не так с моим аудиофайлом example.m4a? Кстати, этот аудиофайл может быть загружен и хорошо воспроизведен AKAudioPlayer.

1 Ответ

0 голосов
/ 04 ноября 2018

После некоторого тестирования я обнаружил, что параметр в методе init не работает, но после добавления akTimePitch.pitch=1600 перед [player playFrom:0.0], эффекты AKTimePitch работают !! Я не знаю, почему AKTimePitch *akTimePitch = [[AKTimePitch alloc] init:player rate:2.0 pitch:1600 overlap:8]; просто не работает ...

...