[英]Errors building a camera in an IOS app
I am trying to build camera functionality in an IOS app. 我正在尝试在IOS应用程序中构建相机功能。 Here is my first error:
这是我的第一个错误:
Cannot assign value of type 'AVCaptureVideoPreviewLayer' to type 'CALayer!' 无法将类型“ AVCaptureVideoPreviewLayer”的值分配给类型“ CALayer!”。
Swift also has an issue with assigning a property to itself Swift也有为其分配属性的问题
if previewLayer = AVCaptureVideoPreviewLayer(session: captureSession){
self.previewLayer = previewLayer
self.view.layer.addSublayer(self.previewLayer)
self.previewLayer.frame = self.view.layer.frame
captureSession.startRunning()
let dataOutput = AVCaptureVideoDataOutput()
dataOutput.videoSettings = [(kCVPixelBufferPixelFormatTypeKey as NSString):NSNumber(value:kCVPixelFormatType_32BGRA)] as [String : Any]
dataOutput.alwaysDiscardsLateVideoFrames = true
if captureSession.canAddOutput(dataOutput) {
captureSession.addOutput(dataOutput)
}
captureSession.commitConfiguration()
let queue = DispatchQueue(label: "com.brianadvent.captureQueue")
dataOutput.setSampleBufferDelegate(self, queue: queue)
}
It's not compiling because that first line isn't a valid if statement: 它没有编译,因为第一行不是有效的if语句:
if previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
Even an if-let wouldn't be valid here because that initializer isn't failable. 即使是if-let在这里也不是有效的,因为该初始化程序不会失败。 Without more context, I suggest you drop that if entirely and assign the
AVCaptureVideoPreviewLayer
right to your previewLayer
like so: 在没有更多上下文的情况下,建议您完全删除它,并将
AVCaptureVideoPreviewLayer
分配给您的previewLayer
如下所示:
self.previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.