MIDIMessageEvent - 表示传递给 MIDIInput 接口的 onmidimessage 事件的事件处理程序
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
MIDIMessageEvent 是 Web MIDI API 的接口,表示传递给 MIDIInput 接口的 onmidimessage 事件的事件处理程序。每次从 MIDIInput 表示的设备发送 MIDI 消息时,都会触发一次 midimessage 事件,例如,当按下 MIDI 键盘键,调整旋钮或移动滑块时。
构造函数
MIDIMessageEvent.MIDIMessageEvent
创建一个新的 MIDIMessageEvent 对象实例。
属性
MIDIConnectionEvent.data
一个 Uint8Array,其中包含单个 MIDI 消息的数据字节。有关其格式的更多信息,请参见 MIDI 规范。
注意:即使 Web MIDI API 指定了一个返回
DOMHighResTimeStamp的receivedTime属性,但是 Chrome(在撰写本文时唯一的实现)不支持该属性,因为Event.timeStamp属性已经返回了一个DOMHighResTimeStamp值。
实例
// 将所有消息打印到控制台
navigator.requestMIDIAccess().then(midiAccess => {
Array.from(midiAccess.inputs).forEach(input => {
input[1].onmidimessage = console.log;
})
});
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| Web MIDI API MIDIMessageEvent 的定义 |
工作草案 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 43 | ≤79 | 未知 | 不支持 | 30 | 未知 |
MIDIMessageEvent() 构造函数 | 43 | ≤79 | 未知 | 不支持 | 30 | 未知 |
data | 43 | ≤79 | 未知 | 不支持 | 30 | 未知 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
MIDIMessageEvent() 构造函数 | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |
data | 不支持 | 43 | 未知 | 未知 | 未知 | 30 | 不支持 |