gpt4 book ai didi

macos - QTCaptureDeviceWasConnectedNotification

转载 作者:行者123 更新时间:2023-12-01 07:50:21 25 4
gpt4 key购买 nike

我正在开发一个列出连接到系统的网络摄像头的桌面应用程序。当用户选择网络摄像头应用程序时,从设备流式传输到 QTCaptureView。我已经注册到通知 QTCaptureDeviceWasDisconnectedNotificationQTCaptureDeviceWasConnectedNotification 以便在设备断开和连接时删除设备并将其添加到列表中。

问题是 QTCaptureDeviceWasConnectedNotification 在连接设备时被发送两次。这是什么原因?

此外,在我的一台 Mac Book 中,我经常遇到以下问题。从 QTCaptureDeviceWasConnectedNotification 第二次通知(我收到两个通知)获得的设备没有本地化的描述名称。你能告诉我这里可能出了什么问题吗?

最佳答案

我遇到了同样的问题。在我的案例中,这种有趣行为的原因是带有内置麦克风的网络摄像头。因此,在连接此类多用途设备时,会有两个通知 - 一个针对视频捕获设备,第二个针对内置麦克风。

这是阻碍我了解情况的一般错误列表(可能会对您有所帮助):

  • 使用过内置麦克风的网络摄像头
  • 使用 [QTCaptureDevice inputDevicesWithMediaType:] 而不是 [QTCaptureDevice inputDevices]。这使我无法看到连接的其他类型的设备(例如麦克风)
  • 在我的测试中,当没有“视频”设备时,我什么也没有记录。这就是我看到两个连接通知(视频、视频+麦克风)和只有一个断开连接(-mic、-video)的原因 - 一开始让我感到困惑。

这里是我的测试日志。

在设备上附加的第一个通知是:

Device++ #0: "AppleHDAEngineInput:1B,0,1,1:4" - "AppleHDA:12"
Device++ #1: "AppleHDAEngineInput:1B,0,1,0:3" - "AppleHDA:12"
Device++ #2: "0xfd100000046d0990" - "UVC Camera VendorID_1133 ProductID_2448"

您可以单独看到 UVC 相机。第二个通知是:

Device++ #0: "AppleHDAEngineInput:1B,0,1,1:4" - "AppleHDA:12"
Device++ #1: "AppleUSBAudioEngine:Unknown Manufacturer:Logitech Camera:5895DC4F:3" - "AppleUSBAudioDevice:Logitech Camera"
Device++ #2: "AppleHDAEngineInput:1B,0,1,0:3" - "AppleHDA:12"
Device++ #3: "0xfd100000046d0990" - "UVC Camera VendorID_1133 ProductID_2448"

您可以看到 UVC 摄像头和 AppleUSBAudioEngine - 麦克风。

在设备分离时也会有两个通知。第一个:

Device-- #0: "AppleHDAEngineInput:1B,0,1,1:4" - "AppleHDA:12"
Device-- #1: "AppleHDAEngineInput:1B,0,1,0:3" - "AppleHDA:12"
Device-- #2: "0xfd100000046d0990" - "UVC Camera VendorID_1133 ProductID_2448"

没有麦克风,UVC 摄像头还在。第二个通知:

Device-- #0: "AppleHDAEngineInput:1B,0,1,1:4" - "AppleHDA:12"
Device-- #1: "AppleHDAEngineInput:1B,0,1,0:3" - "AppleHDA:12"

没有 UVC 摄像头,没有麦克风。

此外,QTKit 可能会“合并”通知,因为有时我只收到一个通知(一个用于连接,一个用于断开连接),因此实际的通知数量不仅取决于连接或断开连接的(子)设备的数量。

对于 localizedDisplayName - 还没有遇到任何问题。

关于macos - QTCaptureDeviceWasConnectedNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4956233/

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