HIDDevice:sendReport() 方法
sendReport()
是 HIDDevice
接口的方法,用于向 HID 设备发送输出报告。
此设备支持的每个报告格式的 reportId
都可以从 HIDDevice.collections
中获取。
语法
js
sendReport(reportId, data)
参数
reportId
-
一个 8 位报告 ID。如果 HID 设备不使用报告 ID,则发送
0
。 data
-
字节,以
ArrayBuffer
、TypedArray
或DataView
的形式。
返回值
一个 Promise
,在报告发送后解析为 undefined
。
异常
NotAllowedError
DOMException
-
如果由于任何原因发送报告失败,则抛出此异常。
示例
下面的示例展示了如何使用输出报告让 Joy-Con 设备震动。您可以在文章 连接到不常见的 HID 设备 中查看更多示例和实时演示。
js
// First, send a command to enable vibration.
// Magical bytes come from https://github.com/mzyy94/joycon-toolweb
const enableVibrationData = [1, 0, 1, 64, 64, 0, 1, 64, 64, 0x48, 0x01];
await device.sendReport(0x01, new Uint8Array(enableVibrationData));
// Then, send a command to make the Joy-Con device rumble.
// Actual bytes are available in the sample.
const rumbleData = [
/* … */
];
await device.sendReport(0x10, new Uint8Array(rumbleData));
规范
规范 |
---|
WebHID API # dom-hiddevice-sendreport |
浏览器兼容性
BCD 表仅在浏览器中加载