2014-02-28 54 views
0

我是iOS开发新手。我正在尝试使用火炬和最大变焦功能打开带有实时视频输入的应用程序。这个应用程序将用于从物理部分扫描小型2D数据矩阵条形码。我正在使用的代码如下:设备rampToVideoZoomFactor不能正常工作

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

    } 

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

任何建议?

+0

你正在测试什么设备? videoMaxZoomFactor的价值是什么?我相信只有iPhone 5和更新版本支持除“1”之外的任何其他内容。 – Dan

回答

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获得的有源器件? )。我认为你需要提供更多的上下文。