2017-01-15 3 views
0

Ich habe eine UWP-Anwendung, die auf eine externe USB-Kamera zugreifen muss mit der Fähigkeit zu wissen, wann ein Knopfdruck auf der Kamera aufgetreten ist. Ich kann MediaCapture verwenden, um die Kamera zu lokalisieren und einen Videostream anzuzeigen. Das Problem ist, dass ich nicht feststellen kann, ob die Taste auf dem Gerät gedrückt wurde. Ich versuchte es mit Windows.Devices.Usb verbinden, aber war nicht erfolgreich, da die Geräteklasse 0e ist, die nicht in der Liste der unterstützten Klassencodes (https://msdn.microsoft.com/en-us/library/windows/hardware/dn312121(v=vs.85).aspx#step3) ist. Wenn ich einen Anruf an UsbDevice.FromIdAsync(mydeviceId) mache, bekomme ich immer Null zurück. An diesem Punkt versuche ich herauszufinden, was meine Optionen sind, um den Tastendruck zu bestimmen.UWP-Taste drücken auf Externe USB-Kamera

ich in meinem Paket Manifest folgendes haben:

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

Wenn Sie die Taste auf der externen USB-Kamera erkennen möchten? Wenn ja, sollten Sie in der Lage sein, den OEM des Kameragerätes zu überprüfen, das es unterstützt, das Knopfsignal zum PC zu übergeben. Es scheint auch die meisten externe USB-Kamera, die nicht über die Schaltfläche verfügen. Also warum willst du es erkennen? –

+0

Dies ist für eine Mikroskop-USB-Kamera, die über eine Schaltfläche verfügt, die es einem Benutzer ermöglicht, ein Bild ohne Interaktion mit dem PC aufzunehmen. Das Problem ist, dass die Geräteklassen-ID 0e ist. Scheint auch nicht wie eine Image-Geräteklasse wird von Windows.Devices.Usb Namespace –

+0

Ich habe genau das gleiche Problem. Aber um Dinge nicht zu vereinfachen, bin ich in Java. Hast du einen Weg gefunden? Ist es zufällig auch dieses Mikroskop USB: https://plugable.com/products/usb2-micro-250x? –

Antwort

1

ich mein Problem habe zu lösen. Das Problem war mit meiner Capability-Definition. Ich hatte Seiten- und Verwendungswerte umgekehrt. Unten ist die aktualisierte Funktion, die funktioniert hat.

<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>