MIDIAccess

可用性有限

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

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

MIDIAccess 接口属于 Web MIDI API,它提供了列出 MIDI 输入和输出设备的方法,以及获取这些设备的访问权限。

MIDIAccess 是一个可转移对象

EventTarget MIDIAccess

实例属性

MIDIAccess.inputs 只读

返回一个 MIDIInputMap 实例,它提供了对所有可用 MIDI 输入端口的访问。

MIDIAccess.outputs 只读

返回一个 MIDIOutputMap 实例,它提供了对所有可用 MIDI 输出端口的访问。

MIDIAccess.sysexEnabled 只读

一个布尔属性,指示当前 MIDIAccess 实例是否启用了系统独占支持。

事件

statechange

每当添加新的 MIDI 端口或现有端口状态更改时调用。

示例

Navigator.requestMIDIAccess() 方法返回一个 promise,该 promise 解析为一个 MIDIAccess 对象。其中包含有关输入和输出端口的信息。

当端口状态发生变化时,有关该端口的信息会打印到控制台。

js
navigator.requestMIDIAccess().then((access) => {
  // Get lists of available MIDI controllers
  const inputs = access.inputs.values();
  const outputs = access.outputs.values();

  access.onstatechange = (event) => {
    // Print information about the (dis)connected MIDI controller
    console.log(event.port.name, event.port.manufacturer, event.port.state);
  };
});

规范

规范
Web MIDI API
# midiaccess-interface

浏览器兼容性