HIDDevice: sendReport()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Shared Web Workers.
Die sendReport()
-Methode des HIDDevice
-Interfaces sendet einen Ausgabereport an das HID-Gerät.
Die reportId
für jedes der von diesem Gerät unterstützten Reportformate kann aus HIDDevice.collections
abgerufen werden.
Syntax
sendReport(reportId, data)
Parameter
reportId
-
Eine 8-Bit-Report-ID. Falls das HID-Gerät keine Report-IDs verwendet, senden Sie
0
. data
-
Bytes als
ArrayBuffer
, einTypedArray
oder einDataView
.
Rückgabewert
Ein Promise
, das auf undefined
aufgelöst wird, sobald der Report gesendet wurde.
Ausnahmen
NotAllowedError
DOMException
-
Wird ausgelöst, wenn das Senden des Reports aus irgendeinem Grund fehlschlägt.
Beispiele
Das folgende Beispiel zeigt, wie man ein Joy-Con-Gerät mit Hilfe von Ausgabereports zum Vibrieren bringt. Sie können weitere Beispiele und Live-Demos im Artikel Verbindung mit ungewöhnlichen HID-Geräten sehen.
// 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));
Spezifikationen
Specification |
---|
WebHID API # dom-hiddevice-sendreport |
Browser-Kompatibilität
BCD tables only load in the browser