W3cubDocs

/Web APIs

MIDIOutput: send() method

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The send() method of the MIDIOutput interface queues messages for the corresponding MIDI port. The message can be sent immediately, or with an optional timestamp to delay sending.

Syntax

js

send(data)
send(data, timestamp)

Parameters

data

A sequence of one or more valid MIDI messages. Each entry represents a single byte of data.

timestamp Optional

A DOMHighResTimestamp with the time in milliseconds, which is the delay before sending the message.

Return value

None (undefined).

Exceptions

TypeError

Thrown if data is not a valid sequence, or does not contain a valid MIDI message.

InvalidAccessError DOMException

Thrown if data is a system exclusive message, and the MIDIAccess did not enable exclusive access.

InvalidStateError DOMException

Thrown if the port is disconnected.

Examples

In the following example a middle C note is sent immediately, followed by a note off message one second later.

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.
}

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
send 43 79 108 No 30 No No 43 No 30 No 4.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MIDIOutput/send