Нет звука в записи видео (с использованием GPUImage) после инициализации The Amazing Audio Engine
Я использую два сторонних инструмента в своем проекте. Одним из них является "Удивительный аудио двигатель". Я использую это для аудио фильтров. Другой - это 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, поскольку это sharedInstance. Любая помощь будет потрясающей.
1 ответ
Естественно, когда я, наконец, пристегнулся и отправил вопрос, я нашел свою проблему.
Установка предпочитаемой BufferDuration в 0,005 немного чрезмерно. Удаление этой строки решило мою проблему.
Вы можете узнать больше о предпочитаемой длительности буфера здесь.