我在我的项目中使用GPUImage frameWork。但我不知道如何调整相机的焦点。有没有api可以在框架或其他方式做到这一点?
答案 0 :(得分:1)
这是斯威夫特的答案。在GPUImage中,GPUImageVideoCamera类几乎包含整个AVFoundation摄像头管道。所以通常在AVFoundation中调整相机焦点你会说:
var camera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
var focus: Float = 0.5
do {
try camera.lockForConfiguration()
camera.setFocusModeLockedWithLensPosition(focus, completionHandler: nil)
camera.unlockForConfiguration()
} catch let error as NSError {
print(error)
}
在GPUImage中,AVCaptureDevice被包含为inputCamera
类的GPUImageVideoCamera
实例属性,所以你会说:
var camera = GPUImageVideoCamera(sessionPreset: AVCaptureSessionPresetHigh, cameraPosition: .Back)
var focus: Float = 0.5
do {
try camera.inputCamera.lockForConfiguration()
camera.inputCamera.setFocusModeLockedWithLensPosition(focus, completionHandler: nil)
camera.inputCamera.unlockForConfiguration()
} catch let error as NSError {
print(error)
}
以同样的方式更改AVCaptureFocusMode
。