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