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

js
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 zu Performance.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 der MIDIAccess 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.

js
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