使用Swift在Mac Os中显示AVCaptureDevice直播视频

时间:2016-04-09 18:13:35

标签: swift macos avcapturedevice isight

我想从iSight摄像头显示直播视频。

我能够检测到与iSight摄像头匹配的AVCaptureDevice,但我不知道如何显示iSight直播流。

我找到了iOS的一些示例(http://jamesonquave.com/blog/taking-control-of-the-iphone-camera-in-ios-8-with-swift-part-1/),但是我想为Mac OS应用程序实现相同的目标。

我还检查了Apple文档,但不幸的是,一些方法示例不适用于Swift。

我应该在哪里添加AVCaptureVideoPreviewLayer?通过CustomView?或者也许是IKCameraDeviceView?

或者有人能为我提供一个关于如何在Mac Os中使用Swift摄像头和Swift的示例吗?

1 个答案:

答案 0 :(得分:1)

似乎我自己找到了解决方案。

我必须将AVCaptureVideoPreviewLayer附加到CALayer,然后将CALayer添加到CustomView中。

我可以通过以下方式实现这一目标:

let renderLayer = CALayer()

layer.wantsLayer = true   // layer is a NSView
layer.layer = renderLayer

 // Initialize AVCaptureSession and other stuff...