2017-11-10 125 views
-1

我想使用的所有相機調整工作除了zoomfactor。我失去了爲什麼會發生這種情況......有什麼想法?自定義曝​​光和對焦設置正常工作。我沒有意識到iOS中有什麼改變嗎?AVFoundation videoZoomFactor不工作(斯威夫特)

captureSession = AVCaptureSession() 
    captureSession?.sessionPreset = AVCaptureSessionPresetPhoto 
    stillImageOutput = AVCapturePhotoOutput() 

    let device = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo) 

    do{ 
     do{ 
      try device?.lockForConfiguration() 
      device?.setFocusModeLockedWithLensPosition(focusValue, completionHandler: {(time) -> Void in}) 
      device?.setExposureModeCustomWithDuration(CMTimeMake(1, exposureValue), iso: ISOValue, completionHandler: {(time) -> Void in}) 
      let zoomFactor:CGFloat = 16 
      device?.videoZoomFactor = zoomFactor 
      device?.unlockForConfiguration() 

     }catch{ 
      print(error) 
     } 

     stillImageOutput.isHighResolutionCaptureEnabled = true 
     let input = try AVCaptureDeviceInput(device: device) 
     if(captureSession.canAddInput(input)){ 
      captureSession.addInput(input) 
      if(captureSession.canAddOutput(stillImageOutput)){ 
       captureSession.addOutput(stillImageOutput) 

       captureSession.startRunning() 
       let captureVideoLayer: AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer.init(session: captureSession) 
       captureVideoLayer.frame = self.previewView.bounds 
       captureVideoLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 
       self.previewView.layer.insertSublayer(captureVideoLayer, at: 0) 
      } 
     } 
    }catch{ 
     print(error) 
    } 
+0

我仍然認爲videozoomfactor在ios11中壞了。任何人可以驗證? – user2345335

回答

0

原來我只是在錯誤的位置設置我的設備設置。如果lockconfig try塊被移到捕獲會話的東西下面,它就會按照預期工作。