【发布时间】:2023-03-15 07:50:01
【问题描述】:
今天我是第一次为 Mac 编写代码。我想要做的是访问默认相机并显示预览。第二步,如果需要,我将记录或拍一张照片。对于第一步,我编写了以下代码
import Cocoa
import AVFoundation
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
var session:AVCaptureSession = AVCaptureSession()
session.sessionPreset = AVCaptureSessionPresetLow
var device:AVCaptureDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)
//Preview
var previewLayer:AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer(session: session)
var myView:NSView = self.view
previewLayer.frame = myView.bounds
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
self.view.layer?.addSublayer(previewLayer)
session.startRunning()
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
我没有看到此代码正在打开我的笔记本电脑默认摄像头或在视图上显示任何内容。我在这里做错了什么?我可以寻找的任何方向或任何示例,即使它在 Obj-C 中真的很有帮助。 TIA。
【问题讨论】:
-
沙盒问题?您查看控制台日志了吗?
-
抱歉,沙盒问题是什么?控制台上没有错误,即使在调试时也没有抛出错误。在没有开发证书的情况下运行,因为还没有 mac 开发证书
-
Mac 应用程序可以在沙盒中运行(或者如果您将它们放在 AppStore 上则需要)。所以你可以忘记...
-
@KD。你有什么收获吗?
标签: xcode macos swift avcapturedevice