MIDIMessageEvent - 表示传递给 MIDIInput 接口的 onmidimessage 事件的事件处理程序

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

MIDIMessageEventWeb MIDI API 的接口,表示传递给 MIDIInput 接口的 onmidimessage 事件的事件处理程序。每次从 MIDIInput 表示的设备发送 MIDI 消息时,都会触发一次 midimessage 事件,例如,当按下 MIDI 键盘键,调整旋钮或移动滑块时。

构造函数

MIDIMessageEvent.MIDIMessageEvent

创建一个新的 MIDIMessageEvent 对象实例。

属性

MIDIConnectionEvent.data

一个 Uint8Array,其中包含单个 MIDI 消息的数据字节。有关其格式的更多信息,请参见 MIDI 规范

注意:即使 Web MIDI API 指定了一个返回 DOMHighResTimeStampreceivedTime 属性,但是 Chrome(在撰写本文时唯一的实现)不支持该属性,因为 Event.timeStamp 属性已经返回了一个 DOMHighResTimeStamp 值。

实例

// 将所有消息打印到控制台
navigator.requestMIDIAccess().then(midiAccess => {
  Array.from(midiAccess.inputs).forEach(input => {
    input[1].onmidimessage = console.log;
  })
});

规范

规范 状态 备注
Web MIDI API
MIDIMessageEvent 的定义
工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持43≤79 未知 不支持30 未知
MIDIMessageEvent() 构造函数43≤79 未知 不支持30 未知
data43≤79 未知 不支持30 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持43 未知 未知 未知30 不支持
MIDIMessageEvent() 构造函数 不支持43 未知 未知 未知30 不支持
data 不支持43 未知 未知 未知30 不支持