
这是我的会话代码.
func setupSession() { session = AVCaptureSession() session.sessionPreset = AVCaptureSessionPresetHigh let camera = AVCaptureDevice .defaultDeviceWithMediaType(AVMediaTypeVIDeo) do { input = try AVCaptureDeviceinput(device: camera) } catch { return } output = AVCaptureStillimageOutput() output.outputSettings = [ AVVIDeoCodecKey: AVVIDeoCodecJPEG ] guard session.canAddinput(input) && session.canAddOutput(output) else { return } session.addinput(input) session.addOutput(output) prevIEwLayer = AVCaptureVIDeoPrevIEwLayer(session: session) prevIEwLayer!.vIDeoGravity = AVLayerVIDeoGravityResizeAspect prevIEwLayer!.connection?.vIDeoOrIEntation = .Portrait vIEw.layer.addSublayer(prevIEwLayer!) session.startRunning()}解决方法 在我的6S上,默认的相机对焦模式是.ContinuousautoFocus,它持续关注占据相机视野大部分的任何物体.听起来就像你想要的那样. 您可以检查您的相机是否支持自动对焦:
camera.isFocusModeSupported(.ContinuousautoFocus)
如果尚未设置,请将其设置为:
try! camera.lockForConfiguration()camera.focusMode = .ContinuousautoFocuscamera.unlockForConfiguration()总结
以上是内存溢出为你收集整理的ios – 如何将自动对焦添加到AVCaptureSession?迅速全部内容,希望文章能够帮你解决ios – 如何将自动对焦添加到AVCaptureSession?迅速所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)