2017-01-15 35 views
0

我有一个UWP应用程序,需要访问一个外部USB摄像头,并能够知道摄像头按钮何时出现。我可以使用MediaCapture来定位相机并显示视频流。问题是,我无法确定按钮是否在设备上按下。我尝试使用Windows.Devices.Usb连接到它,但由于设备类是0e,但它不在支持的类代码列表中(https://msdn.microsoft.com/en-us/library/windows/hardware/dn312121(v=vs.85).aspx#step3),因此未成功连接。当我打电话给UsbDevice.FromIdAsync(mydeviceId)时,我总是得到Null返回。在这一点上,我试图确定我的选择是什么来确定按钮按下。UWP按钮按下外部USB摄像头

我有我的包清单如下:

<DeviceCapability Name="usb"> 
    <Device Id="vidpid:19ab 1050"> 
     <Function Type="classId:0e * *" /> 
    </Device> 
</DeviceCapability> 
+0

如果您想检测外部USB摄像头上的按钮?如果是这样,你应该能够检查它支持的摄像头设备的OEM是否传递了按钮信号给PC。此外,它似乎大多数没有按钮的外部USB摄像头。那么你为什么要检测它? –

+0

这是一款显微镜USB摄像头,它具有一个按钮,允许用户在不与PC交互的情况下捕捉图像。问题是设备类ID是0e。也似乎不像Windows设备类支持的Windows.Devices.Usb命名空间 –

+0

我有完全相同的问题。但是为了不简化事情,我使用Java。你找到一个方法吗?这是偶然的显微镜USB:https://plugable.com/products/usb2-micro-250x? –

回答

1

我没有解决我的问题。问题出在我的能力定义上。我已将页面和使用情况值颠倒过来。以下是更新后的功能。

<DeviceCapability Name="humaninterfacedevice"> 
     <Device Id="vidpid:19ab 1000"> 
     <Function Type="usage:FFA0 0001" /> 
     </Device> 
     <Device Id="vidpid:19ab 1020"> 
     <Function Type="usage:FFA0 0001" /> 
     </Device> 
</DeviceCapability>