ios 9 AVCaptureDevice установка точки фокусировки
Я пытаюсь установить точку фокусировки с помощью фронтальной камеры.
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let screenSize = cameraView.bounds.size
let frameSize:CGSize = view.frame.size
if let touchPoint = touches.first {
var location:CGPoint = touchPoint.locationInView(cameraView)
print("Tap Location : X: (location.x), Y: (location.y)")
if cameraManager.cameraDevice == .Front {
print("Front camera is used")
location.x = frameSize.width - location.x;
}
else {
print("Back camera is used")
}
let x = location.x / frameSize.width
let y = 1.0 - (location.x / frameSize.width)
let focusPoint = CGPoint(x: x, y: y)
print("POINT : X: (x), Y: (y)")
let captureDevice = (AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo) as! [AVCaptureDevice]).filter{$0.position == .Front}.first
if let device = captureDevice {
do {
try device.lockForConfiguration()
let support:Bool = device.focusPointOfInterestSupported
if support {
print("focusPointOfInterestSupported: (support)")
device.focusPointOfInterest = focusPoint
// device.focusMode = .ContinuousAutoFocus
device.focusMode = .AutoFocus
// device.focusMode = .Locked
device.unlockForConfiguration()
print("Focus point was set successfully")
}
else{
print("focusPointOfInterestSupported is not supported: (support)")
}
}
catch {
// just ignore
print("Focus point error")
}
}
}
}
Он работает на iphone6 для задней камеры. Но, когда я включаю переднюю камеру, она молотит. focusPointOfInterestSupported всегда возвращает false.
Как я могу решить эту проблему. Могу ли я программно установить точку фокусировки?
Спасибо!
1 ответ:
Логическое значение
focusPointOfInterestSupported
указывает на то, что передняя камера этого устройства не поддерживает установку фокуса таким образом. На самом деле, похоже, что камера "FaceTime" iPhone 6 имеет фиксированный фокус. В разделе технических характеристик камеры iPhone 6 "FaceTime" нет упоминания о "фокусе", но есть в разделе камеры iSight, расположенной сзади. Кроме того, попытка перефокусировать фронтальную камеру на размытый объект рядом с объективом (нажав в приложении камеры), похоже, только регулирует экспозиция, а не фокус.Источник: http://www.apple.com/iphone-6/specs/