MIDIOutput: send() メソッド

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

MIDIOutput インターフェイスの send() メソッドは、対応する MIDI ポートに送信するメッセージをキューに追加します。メッセージはすぐに送信することも、省略可能なタイムスタンプを用いて送信を遅延させることもできます。

構文

js
send(data)
send(data, timestamp)

引数

data

1 個以上の有効な MIDI メッセージの列です。それぞれのエントリーが 1 バイトのデータを表します。

timestamp 省略可

ミリ秒単位の時刻を表す DOMHighResTimestamp で、メッセージを送信するまでの遅延を表現します。

返値

なし (undefined)

例外

TypeError

data が有効な列でないか、有効な MIDI メッセージが格納されていないとき投げられます。

InvalidAccessError DOMException

data がシステムエクスクルーシブメッセージで、MIDIAccess でシステムエクスクルーシブへのアクセスが有効になっていないとき投げられます。

InvalidStateError DOMException

ポートが切断されているとき投げられます。

以下の例では、真ん中のドのノートをすぐに送信し、1 秒後にノートオフメッセージを送信します。

js
function sendMiddleC(midiAccess, portID) {
  const noteOnMessage = [0x90, 60, 0x7f]; // ノートオン、真ん中のド、フルベロシティー
  const output = midiAccess.outputs.get(portID);
  output.send(noteOnMessage); // タイムスタンプの省略は、すぐに送信することを意味する
  output.send([0x80, 60, 0x40], window.performance.now() + 1000.0); // timestamp = now + 1000ms
}

仕様書

Specification
Web MIDI API
# dom-midioutput-send

ブラウザーの互換性

BCD tables only load in the browser