Мне трудно изменить границы AVCaptureVideoPreviewLayer.Все, что я делаю, всегда заканчивается маленьким размером, как показано ниже:
![enter image description here](https://i.stack.imgur.com/pmLFt.png)
Вот мой код:
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
self.imageLayer.bounds = CGRect(x: 0, y: 0, width: 375, height: 100)
}
private func startLiveVideo() {
session.sessionPreset = AVCaptureSession.Preset.photo
let captureDevice = AVCaptureDevice.default(for: AVMediaType.video)
let deviceInput = try! AVCaptureDeviceInput(device: captureDevice!)
let deviceOutput = AVCaptureVideoDataOutput()
deviceOutput.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String: Int(kCVPixelFormatType_32BGRA)]
deviceOutput.setSampleBufferDelegate(self, queue: DispatchQueue.global(qos: DispatchQoS.QoSClass.default))
session.addInput(deviceInput)
session.addOutput(deviceOutput)
self.imageLayer = AVCaptureVideoPreviewLayer(session: session)
imageLayer.frame = CGRect(x: 0, y: 0, width: 375, height: 100)
self.imageView.layer.addSublayer(self.imageLayer)
session.startRunning()
}
РЕШЕНИЕ:
self.imageLayer.videoGravity = .resizeAspectFill