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 | 不支持 |