UWP:从 HID 采集卡读取输入字节
Posted
技术标签:
【中文标题】UWP:从 HID 采集卡读取输入字节【英文标题】:UWP: read input bytes from HID Capture Card 【发布时间】:2020-09-02 07:09:14 【问题描述】:我的 UWP 应用程序将 Capture Card 识别为 HidDevice:
HidDevice device = await HidDevice.FromIdAsync(deviceId, Windows.Storage.FileAccessMode.Read);
是否可以从 HID Capture Card 读取输入字节? (就像OBS 一样)。 可能是 InputStream 上的一些 DataReader?
我在清单中的隐藏能力:
<DeviceCapability Name="humaninterfacedevice">
<Device Id="vidpid:534d 2109">
<Function Type="usage:0005 *" />
<Function Type="usage:FF00 0001" />
<Function Type="usage:ff00 *" />
</Device>
</DeviceCapability>
【问题讨论】:
【参考方案1】:从 HID 采集卡中读取输入字节
当然,您可以读取HidDevice
输入字节。 HidDevice 包含InputReportReceived
事件,可用于在数据输入时显示数据。更多详情请参考官方document。
device.InputReportReceived += async (sender, args) =>
HidInputReport inputReport = args.Report;
IBuffer buffer = inputReport.Data;
// Create a DispatchedHandler as we are interracting with the UI directly and the
// thread that this function is running on might not be the UI thread;
// if a non-UI thread modifies the UI, an exception is thrown.
await this.Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
new DispatchedHandler(() =>
info.Text += "\nHID Input Report: " + inputReport.ToString() +
"\nTotal number of bytes received: " + buffer.Length.ToString();
));
;
【讨论】:
我已经在后台使用 youtube 视频尝试了此代码,但 InputReportReceived 事件从未触发。在 OBS 工作室中它可以工作。 你能解释一下在 obs studio 中它的工作原理吗?你有没有在前台尝试过上面的代码? 这意味着OBS工作室成功录制了youtube视频在浏览器中打开的音频。我在前台进程中使用您的代码运行了 UWP 应用程序。 你能分享更多关于你的隐藏设备信息的细节吗? 它已被添加到清单中。我更新了我的问题,您可以隐藏我使用的功能。我想如果没有这个,我会从函数 HidDevice.FromIdAsync 中得到 NULL,所以这不是我的情况。以上是关于UWP:从 HID 采集卡读取输入字节的主要内容,如果未能解决你的问题,请参考以下文章