如何在使用iOS、Swift的设备上聚焦前置摄像头?

5

似乎前置摄像头不支持对焦模式。

func configureDevice() {
    if let device = captureDevice {
        let focusMode: AVCaptureFocusMode = .AutoFocus
        if device.isFocusModeSupported(focusMode) {
            device.lockForConfiguration(nil)
            device.focusMode = AVCaptureFocusMode.AutoFocus
            device.unlockForConfiguration()
            println("configured device")
        }
    }
}

这段代码无法运行,因为
if device.isFocusModeSupported(focusMode) 

返回 false。

但是在内置相机应用程序中,前置摄像头可以通过轻触对焦。

有没有办法在前置摄像头上实现轻触对焦?

1个回答

10
前置摄像头在任何iPhone上都不支持点按对焦。您可以使用device.focusPointOfInterestSupported属性检查是否支持点按对焦(但会返回false,与isFocusModeSupported()一样)。
您看到的是点按曝光功能,您可以使用device.exposurePointOfInterestSupported检查是否支持点按曝光。一旦知道可以使用它,使用device.exposurePointOfInterest设置您的PoI。
每种模式的所有细节都在Apple Docs中详细说明。
希望这有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接