MIDIOutput: send() 方法
send()
是 MIDIOutput
接口的方法,它将消息排队到相应的 MIDI 端口。消息可以立即发送,也可以使用可选的时间戳延迟发送。
语法
js
send(data)
send(data, timestamp)
参数
data
-
一个或多个有效 MIDI 消息的序列。每个条目表示一个字节的数据。
timestamp
可选-
一个
DOMHighResTimeStamp
,表示应发送消息的时间(以毫秒为单位,相对于Performance.timeOrigin
)。
返回值
无 (undefined
).
异常
TypeError
-
如果
data
不是有效的序列,或者不包含有效的 MIDI 消息,则抛出此异常。 InvalidAccessError
DOMException
-
如果
data
是系统独占消息,并且MIDIAccess
未启用独占访问,则抛出此异常。 InvalidStateError
DOMException
-
如果端口断开连接,则抛出此异常。
示例
在以下示例中,立即发送一个中央 C 音符,并在 1 秒后发送一个音符关闭消息。
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 |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。