MIDIOutput:send() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

MIDIOutput 介面的 send() 方法將訊息排隊傳送到相應的 MIDI 埠。訊息可以立即傳送,也可以使用可選的時間戳來延遲傳送。

語法

js
send(data)
send(data, timestamp)

引數

data

一個或多個有效 MIDI 訊息的序列。每個條目代表一個位元組的資料。

timestamp 可選

一個 DOMHighResTimeStamp,表示訊息應該傳送的時間(以毫秒為單位,相對於 Performance.timeOrigin)。

返回值

無(undefined)。

異常

TypeError

如果 data 不是一個有效的序列,或者不包含有效的 MIDI 訊息,則丟擲此異常。

InvalidAccessError DOMException

如果 data 是一個系統獨佔訊息,並且 MIDIAccess 沒有啟用獨佔訪問,則丟擲此異常。

InvalidStateError DOMException

如果埠已斷開連線,則丟擲此異常。

示例

在下面的示例中,立即傳送一箇中央 C 音符,一秒鐘後傳送一個音符關閉訊息。

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

規範

規範
Web MIDI API
# dom-midioutput-send

瀏覽器相容性