我在我的项目中使用了两个第三方工具。一个是“惊人的音频引擎”。我将它用于音频过滤器。另一个是 GPUImage,或者更具体地说,是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 有关,因为它是一个共享实例。任何帮助都会很棒。