AVCapturePhotoSettings ошибка в IOS 10?
Мое приложение использует камеру, затем сжимает изображение JPEG, с версией ios < 10, я использую AVCaptureStillImageOutput, но версия ios>= 10 Я использую ошибку AVCapturePhotoOutput. У меня есть код настройки:`
self.photoOutput = [[AVCapturePhotoOutput alloc] init];
AVCapturePhotoSettings *photoSettings =
[AVCapturePhotoSettings photoSettingsWithFormat:@{AVVideoCodecKey : AVVideoCodecJPEG}];
[self.photoOutput capturePhotoWithSettings:photoSettings delegate:self];
[self.session addOutput:self.photoOutput];`
У меня проблемы при запуске приложения, сбой приложения с ошибкой:
[AVCapturePhotoOutput capturePhotoWithSettings:delegate:] No active and enabled video connection
Кто-нибудь знает, как это использовать? Благодарю.
2 ответа
Вам нужно позвонить [self.session addOutput:];
до [self.photoOutput capturePhotoWithSettings:delegate:];
Пытаться:
self.photoOutput = [[AVCapturePhotoOutput alloc] init];
AVCapturePhotoSettings *photoSettings =
[AVCapturePhotoSettings photoSettingsWithFormat:@{AVVideoCodecKey : AVVideoCodecJPEG}];
[self.photoOutput capturePhotoWithSettings:photoSettings delegate:self];
[self.session addOutput:self.photoOutput];
Последовательность установления связи важна.
self.photoOutput = [[AVCapturePhotoOutput alloc] init];
AVCapturePhotoSettings *photoSettings = [AVCapturePhotoSettings photoSettingsWithFormat:@{AVVideoCodecKey : AVVideoCodecJPEG}];
if ([self.session canAddOutput: self.photoOutput ]){
[self.session addOutput: self.photoOutput]
}
[self.photoOutput capturePhotoWithSettings:photoSettings delegate:self];