Блокировка сбоев экспозиции камеры 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];
Другие вопросы по тегам