MIDIOutput: send()-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.
Die send()
-Methode der MIDIOutput
-Schnittstelle reiht Nachrichten für den entsprechenden MIDI-Port ein. Die Nachricht kann sofort gesendet werden oder mit einem optionalen Zeitstempel, um das Senden zu verzögern.
Syntax
send(data)
send(data, timestamp)
Parameter
data
-
Eine Sequenz von einem oder mehreren gültigen MIDI-Nachrichten. Jedes Element repräsentiert ein einzelnes Datenbyte.
timestamp
Optional-
Ein
DOMHighResTimestamp
, der die Zeit in Millisekunden angibt, wann die Nachricht gesendet werden soll (relativ zuPerformance.timeOrigin
).
Rückgabewert
Keiner (undefined
).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
data
keine gültige Sequenz ist oder keine gültige MIDI-Nachricht enthält. InvalidAccessError
DOMException
-
Wird ausgelöst, wenn
data
eine System-Exklusiv-Nachricht ist und derMIDIAccess
keinen exklusiven Zugriff ermöglicht hat. InvalidStateError
DOMException
-
Wird ausgelöst, wenn der Port getrennt ist.
Beispiele
Im folgenden Beispiel wird sofort eine Mittlere C-Note gesendet, gefolgt von einer Note-Off-Nachricht eine Sekunde später.
function sendMiddleC(midiAccess, portID) {
const noteOnMessage = [0x90, 60, 0x7f]; // note on middle C, full velocity
const output = midiAccess.outputs.get(portID);
output.send(noteOnMessage); //omitting the timestamp means send immediately.
output.send([0x80, 60, 0x40], window.performance.now() + 1000.0); // timestamp = now + 1000ms.
}
Spezifikationen
Specification |
---|
Web MIDI API # dom-midioutput-send |
Browser-Kompatibilität
BCD tables only load in the browser