macOS上的AVCaptureDevice

7ba*_*all 6 avfoundation avcapturedevice swift macos-high-sierra

是否可以在macOS应用程序中显示相机Feed?我基本上是试图从相机进纸中逐帧捕捉图像.我知道如何在iOS中这样做,但由于某些原因,在macOS上,我似乎无法找到任何AVCaptureDevice视频.

let x = AVCaptureDevice.devices()
Run Code Online (Sandbox Code Playgroud)

//当我打印x时,我只看到麦克风是唯一的捕获设备.没有任何参考视频/相机

guard let device = AVCaptureDevice.default(for: .video) else{ return }
Run Code Online (Sandbox Code Playgroud)

Swa*_*any 14

我有完全相同的问题,AVCaptureDevice.devices()只返回一个条目,一个麦克风.我的解决方案是打开Project:Capabilities:App Sandbox中的Camera复选框.设置相机复选框后输出...

? 2 elements
  - 0 : <AVCaptureHALDevice: 0x60c0000e4980 [Built-in Microphone][AppleHDAEngineInput:1B,0,1,0:1]>
  - 1 : <AVCaptureDALDevice: 0x101302b10 [FaceTime HD Camera][CC245055EWDF6VVDY]>
Run Code Online (Sandbox Code Playgroud)


Col*_*lin -2

要查找可用的捕获设备,请按照此处AVCaptureDevice.DiscoverySession记录的方式使用

然后使用该default(_:for:position:)方法返回指定媒体类型的默认设备,如此处所述

  • 现在可在 macOS 10.15+ 上使用,这应该是现在可接受的答案。 (3认同)