在xcode中运行cameraApp,宽度大小未满
uiview上的cameraview未满。
请帮帮我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 :(得分:0)
如果我使用您的代码并将previewLayer
添加到我的主视图中,我会以纵向显示全尺寸相机视图,但会在横向上显示半尺寸相机视图。
所以,isuse可能在于你如何设置cameraView
,或者它可能是其他东西。我不能肯定。检查cameraView
的大小和范围,看看它是如何设置的。
此外,videoGravity
的{{1}}属性控制预览的显示方式。您将其设置为previewLayer
,这将适合图层范围内的视频。如果AVLayerVideoGravityResizeAspect
设置正确,则可以尝试使用cameraView
之类的其他设置来查看是否可以获得所需的结果。