初始化The Amazing Audio Engine后,没有录像中的audio(使用GPUImage)

我在我的项目中使用了两个第三方工具。 一个是“惊人的audio引擎” 。 我使用这个audiofilter。 另一个是GPUImage,或者更具体地说是GPUImageMovieWriter 。 当我录制video时,我将录音与video合并在一起。 这工作正常。 但是,有时我不使用惊人的audio引擎,只使用GPUImageMovieWriter录制一个正常的video。 问题是,即使在初始化“惊人的audio引擎”之后,video在开始时只有一小部分的audio,然后audio消失了。

+ (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。 任何帮助将是惊人的。

当然,当我终于扣了一个问题,我发现我的问题。

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

您可以在这里了解更多有关preferredBufferDuration的信息 。