gpt4 book ai didi

ios - 在 swift 2.0 中构建自定义相机应用程序时出错

转载 作者:行者123 更新时间:2023-11-30 13:58:50 25 4
gpt4 key购买 nike

我正在构建一个带有相机自定义 View 的自定义相机应用程序。在 ViewWillAppear 部分添加以下代码时,我在添加星星的区域中收到以下错误:二元运算符“!=”不能应用于“Bool”和“NilLiteralConvertible”类型的操作数

非常感谢任何帮助。

captureSession = AVCaptureSession()
captureSession.sessionPreset = AVCaptureSessionPreset1920x1080

let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

var error : NSError?
var input: AVCaptureDeviceInput!

do {
input = try AVCaptureDeviceInput(device: backCamera)
} catch let error1 as NSError {
error = error1
input = nil
}

if error == nil && captureSession.canAddInput(input) != nil { *********

captureSession.addInput(input)

stillImageOutPut = AVCaptureStillImageOutput()
stillImageOutPut.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]

if (captureSession.canAddOutput(stillImageOutPut) != nil){
captureSession.addOutput(stillImageOutPut)

previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravityResizeAspect
previewLayer.connection.videoOrientation = AVCaptureVideoOrientation.Portrait
cameraView.layer.addSublayer(previewLayer)
captureSession.startRunning()

}


}

最佳答案

captureSession.canAddInput(input) 返回一个 Bool,因此无需检查 != nil。你的 if 语句可以变成:

if error == nil && captureSession.canAddInput(input) {

此外,您将 input 声明为 AVCaptureDeviceInput!! 意味着它不应该为 nil,但是如果出现错误,则将 nil 分配给它。如果出现错误,这将会崩溃。您应该将 input 声明为 AVCaptureDeviceInput? 并在必要时展开 input

关于ios - 在 swift 2.0 中构建自定义相机应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33240231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com