0

我是 iOS 开发的新手。我正在尝试使用手电筒和最大缩放打开的实时视频输入构建应用程序。此应用程序将用于从物理部件扫描小型二维数据矩阵条码。我正在使用的代码如下:

if ([input.device lockForConfiguration:nil]) {
        CGFloat zoomFactor = input.device.activeFormat.videoMaxZoomFactor;
        [input.device rampToVideoZoomFactor:zoomFactor withRate:4.0];
        [input.device unlockForConfiguration];

    }

由于某种原因,这根本不起作用。当我尝试调试锁的工作原理时,它会通过缩放代码运行,但应用程序中实际上没有发生任何事情。

有什么建议吗?

4

1 回答 1

0

我发现以下内容对我有用:

dispatch_async(self.sessionQueue, ^{
    NSError *error = nil;
    if ([input.device lockForConfiguration:&error])
    {
        [input.device rampToVideoZoomFactor:2 withRate:1];

        [input.device unlockForConfiguration];
    }
    else
    {
        NSLog(@"%@", error);
    }
});

但是从您上面的代码中,我无法判断“设备”实际上是什么(它是从您的 AVCaptureSession 获得的活动设备吗?)。我认为您需要提供更多上下文。

于 2014-05-30T18:54:30.177 回答