Приложение, над которым я работаю, позволяет пользователю записывать видео с выбранным эффектом. Он основан на примере GPUIamge FilterShowcase.
Я только что добавил возможность захвата неподвижного изображения текущего выбранного видеоэффекта.
Захват неподвижного изображения работает, но очень медленно. Существует большая задержка (от 1 до 2 секунд) между вызовом метода захвата неподвижного изображения и временем фактического сохранения изображения.
Есть ли более оптимизированный метод для достижения этого?
Спасибо.
Код следует:
-(IBAction)savePhotoWithEffects:(id)sender
{
// disable buttons - prevent user
btnPhoto.enabled=NO;
btnRecord.enabled=NO;
// stop videoCamera capture
[videoCamera stopCameraCapture];
[stillCamera capturePhotoAsImageProcessedUpToFilter:filter withCompletionHandler:^(UIImage *captureImage, NSError *error){
if (error) {
NSLog(@"ERROR: Could not capture!");
}
else {
// save file
NSLog(@"PHOTO SAVED - ??");
// save photo to album
UIImageWriteToSavedPhotosAlbum(captureImage, nil, nil, nil);
}
runOnMainQueueWithoutDeadlocking(^{
// Start video camera capture again
[videoCamera startCameraCapture];
// enable the take photo and start recording buttons again
btnPhoto.enabled=YES;
btnRecord.enabled=YES;
});
}];
}