MIDIAccess

有限可用性

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

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,在一些或所有 支持的浏览器 中可用。

网页 MIDI APIMIDIAccess 接口提供了用于列出 MIDI 输入和输出设备以及获取对这些设备访问权限的方法。

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);
  };
});

规范

规范
网页 MIDI API
# midiaccess-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。