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];
Другие вопросы по тегам