MIDIAccess: statechange 事件

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

当添加新的 MIDI 端口或现有端口更改状态时,会触发 MIDIAccess 接口的 statechange 事件。

语法

在诸如 addEventListener() 之类的方法中使用事件名称,或设置事件处理程序属性。

js
addEventListener("statechange", (event) => { })

onstatechange = (event) => { }

事件类型

一个 MIDIConnectionEvent。继承自 Event

Event MIDIConnectionEvent

事件属性

MIDIConnectionEvent.port 只读

返回一个已连接或断开连接的端口的 MIDIPort 实例引用。

示例

Navigator.requestMIDIAccess() 方法返回一个 promise,该 promise 解析为 MIDIAccess 对象。当端口更改状态时,有关该端口的信息会打印到控制台。

js
navigator.requestMIDIAccess().then((access) => {
  access.onstatechange = (event) => {
    console.log(event.port.name, event.port.manufacturer, event.port.state);
  };
});

规范

规范
Web MIDI API
# dom-midiaccess-onstatechange

浏览器兼容性