初始化 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。
我在我的项目中使用了两个第三方工具。一个是"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。