[英]How do you add a AVCaptureVideoPrevieweLayer to a view in swift?
我有一個 AVCaptureVideoPreviewLayer,我想將它從我的 storyboard 添加到 UIView(就像@IB 的東西)。 我將如何 go 這樣做?
這是我的 AVCaptureVideoPreviewLayer 的代碼:
import UIKit
import AVFoundation
class ViewController: UIViewController, PreviewDelegate {
var cameraPreviewLayer: AVCaptureVideoPreviewLayer!
@IBOutlet weak var topBorder: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Functions for capturing image
setupCaptureSession()
setupDevice()
setupInputOutput()
setupPreviewLayer()
startRunningCaptureSession()
super.viewDidLoad();
}
func setupPreviewLayer() {
cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer?.videoGravity = AVLayerVideoGravity.resizeAspect
cameraPreviewLayer?.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
cameraPreviewLayer?.frame = self.view.frame
self.view.layer.insertSublayer(cameraPreviewLayer!, at: 0)
cameraPreviewLayer?.anchorPoint = CGPoint(x: 0, y: 0)
cameraPreviewLayer?.position = CGPoint(x: 0, y: topBorder.frame.height)
}
}
請嘗試以下代碼:
cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: session)
cameraPreviewLayer?.videoGravity = .resizeAspectFill
cameraPreviewLayer?.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
cameraPreviewLayer?.zPosition = -1
cameraPreviewLayer?.frame = containerView.layer.bounds
self.view.layer.insertSublayer(cameraPreviewLayer!, at: 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.