2017-03-20 1 views
1

xcode에서 cameraApp을 실행합니다. 너비가 가득하지는 않습니다.동영상보기의 너비가 절반 인 이유가 무엇인가요?

카메라보기가 uiview로 가득 찼습니다.

나에게 도와주세요 T_T

또한

내가 그렇게

override func viewWillAppear(_ animated: Bool) { 
    captureSession = AVCaptureSession() 
    stillImageOutput = AVCapturePhotoOutput() 

    captureSession.sessionPreset = AVCaptureSessionPreset1920x1080 

    let device = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeVideo) 

    do { 
     let input = try AVCaptureDeviceInput(device: device) 

     if (captureSession.canAddInput(input)) { 
      captureSession.addInput(input) 

      if (captureSession.canAddOutput(stillImageOutput)) { 
       captureSession.addOutput(stillImageOutput) 
       captureSession.startRunning() 

       previewLayer = AVCaptureVideoPreviewLayer(session: captureSession) 
       previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect 
       previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.portrait 

       cameraView.layer.addSublayer(previewLayer!) 


       previewLayer?.position = CGPoint(x: self.cameraView.frame.width/2, y: self.cameraView.frame.height/2) 
       previewLayer?.bounds = cameraView.bounds 
      } 
     } 
    } 
    catch { 
     print(error) 
    } 
} 

답변

0

난 당신의 코드를 사용하여 내 기본보기에 previewLayer를 추가하는 경우 매우 어려운 질문을 영어 잘 말할 수 없다, 나는 전체 수 크기가 카메라보기의 세로 방향이지만 반 크기 카메라보기는 가로 방향입니다.

따라서 사용자가 cameraView을 어떻게 설정했는지, 아니면 뭔가 다른 것일 수 있습니다. 나는 확신 할 수 없다. cameraView의 크기와 범위를 확인하여 설정 방법을 확인하십시오.

또한 의 videoGravity 속성은 미리보기 표시 방법을 제어합니다. 레이어의 경계 내에서 동영상에 맞는 AVLayerVideoGravityResizeAspect으로 설정했습니다. cameraView이 올바르게 설정되어있는 경우 AVLayerVideoGravityResizeAspectFill과 같은 다른 설정을 시도하여 원하는 결과를 얻을 수 있는지 확인할 수 있습니다.

관련 문제