Блокировка сбоев экспозиции камеры iOS
У меня есть следующий код:
-(void) startCameraCapture {
// start capturing frames
// Create the AVCapture Session
session = [[AVCaptureSession alloc] init];
// create a preview layer to show the output from the camera
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];
// Specify that the video should be stretched to fill the layer’s bounds.
previewLayer.videoGravity = AVLayerVideoGravityResize;
//previewView.frame = CGRectMake(126.0, 164.0, 64.0, 75.0);
previewLayer.frame = previewView.frame;
[previewView.layer addSublayer:previewLayer];
// Get the default camera device
AVCaptureDevice* camera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
// get the current settings
[appDelegate loadSettings];
[session startRunning];
}
Есть ли способ, которым я могу заблокировать экспозицию устройства камеры, чтобы разрешить экран только для определенной яркости?
Извините, если я не спрашиваю это право.
Спасибо.
РЕДАКТИРОВАТЬ:
Я попытался добавить:
[camera setExposureModeCustomWithDuration:CMTimeMake(1,1) ISO:100 completionHandler:nil];
но это только приводит к сбою приложения в этой строке.
1 ответ
Согласно документу Apple:
NSGenericException
исключение выдается, если этот метод вызывается без предварительного получения монопольного доступа к получателю с использованием lockForConfiguration
:.
Так что добавьте эту строку перед:
[camera lockForConfiguration:nil];