1

我正在尝试用曝光点锁定曝光,但在我的设备中尝试时它似乎不起作用。虽然当你长按屏幕锁定曝光和焦点时相机应用程序也可以工作,但是当你用我自己的应用程序尝试使用以下代码行时,它不起作用。我错过了配置上的某些内容吗?

if ([_captureInput.device isExposureModeSupported:AVCaptureExposureModeLocked] && [_captureInput.device lockForConfiguration:NULL] && [_captureInput.device isExposurePointOfInterestSupported]) 
{
[_captureInput.device setExposurePointOfInterest:pointOfInterest];
[_captureInput.device setExposureMode:AVCaptureExposureModeLocked];
[_captureInput.device unlockForConfiguration];
}
4

1 回答 1

1

例如,如果您要更改 flash 模式,如何锁定配置的示例如下:

AVCaptureDevice *temp = [[[[self captureSession] inputs] lastObject] device];

if ([temp isFlashModeSupported:AVCaptureFlashModeOn]) {
        NSError *error;
        bool locked = [temp lockForConfiguration:&error];
        if (locked) {
            switch (self.flashMode.intValue) {
                case 0: // Off
                    [temp setFlashMode:AVCaptureFlashModeOff];
                    break;
                case 1: // On
                    [temp setFlashMode:AVCaptureFlashModeOn];
                    break;
                case 2: // Auto
                    [temp setFlashMode:AVCaptureFlashModeAuto];
                    break;

                default:
                    break;
            }
        } else {
            NSLog(@"Could not lock for configuration");
        }

    }

编辑:这只是一个例子(但它应该可以工作),你可以看到我以一种非常奇怪的方式获取捕获设备,因为如果你保存它或者如果你以不同的方式处理它,我不会将它保存在任何地方它也可以工作.

于 2012-07-31T02:19:08.830 回答