我正在寻找一种解决方案,在OS X下创建一个"虚拟"网络摄像头设备(它就像一个普通的硬件网络摄像头,但应用程序可以完全控制输出的内容).我对C++很有经验,但与Objective-C和OSX/Cocoa编程没什么关系.
任何可以指引我正确方向,在哪里寻找以及我应该寻找什么的人?我搜索过,但大多数结果似乎都集中在Windows和DirectX上.
谢谢!
在 macOS 上,是否可以将虚拟相机(例如OBS)视为 CaptureDevice?例如,我看到 Google Chrome 或 Zoom 可以使用此相机,但使用 AVCaptureDevice.DiscoverySession 我无法看到它。
我做错了吗?
var deviceTypes: [AVCaptureDevice.DeviceType] = [.builtInMicrophone, .builtInWideAngleCamera]
#if os(OSX)
deviceTypes.append(.externalUnknown)
#else
deviceTypes.append(contentsOf: [.builtInDualCamera,
.builtInDualWideCamera,
.builtInTelephotoCamera,
.builtInTripleCamera,
.builtInTrueDepthCamera,
.builtInUltraWideCamera])
#endif
let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: deviceTypes,
mediaType: nil, position: .unspecified)
result = discoverySession.devices.map { device in
device.localizedName
}
Run Code Online (Sandbox Code Playgroud)