初始化 The Amazing Audio Engine 后视频录制中没有音频(使用 GPUImage)

No audio in video recording (using GPUImage) after initializing The Amazing Audio Engine

我在我的项目中使用了两个第三方工具。一个是"The Amazing Audio Engine". I use this for audio filters. The other is GPUImage, or more specifically, GPUImageMovieWriter。当我录制视频时,我会将录音与视频合并。这很好用。但是,有时我不使用 The Amazing Audio Engine,而只是使用 GPUImageMovieWriter 录制普通视频。问题是,即使在初始化 The Amazing Audio Engine 之后,视频开始时也只有几分之一秒的音频,然后音频就消失了。

+ (STAudioManager *)sharedManager
{
    static STAudioManager *manager = nil;

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        if (!manager)
        {
            manager = [[STAudioManager alloc] init];
            manager.audioController = [[AEAudioController alloc] initWithAudioDescription:[AEAudioController nonInterleaved16BitStereoAudioDescription] inputEnabled:YES];
            manager.audioController.preferredBufferDuration = 0.005;
            manager.audioController.voiceProcessingEnabled = YES;
            manager.audioController.useMeasurementMode = YES;
        }
    });
    return manager;
}

初始化 TAAE 时出现问题。我怀疑它与 AVAudioSession 有关,因为它是一个 sharedInstance。任何帮助都会很棒。

自然而然地,当我终于屈服并 post 一个问题时,我发现了我的问题。

将 preferredBufferDuration 设置为 0.005 有点过分。删除这条线解决了我的问题。

您可以详细了解 preferredBufferDuration here