MIDIAccess - 用于列出和访问 MIDI 输入和输出设备

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

MIDIAccessWeb MIDI API 的接口,提供了列出 MIDI 输入和输出设备以及访问这些设备的方法。

属性

MIDIAccess.inputs 只读

返回 MIDIInputMap 的实例,它提供对任何可用 MIDI 输入端口的访问。

MIDIAccess.outputs 只读

返回 MIDIOutputMap 的实例,它提供对任何可用 MIDI 输出端口的访问。

MIDIAccess.sysexEnabled 只读

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

事件处理程序

MIDIAccess.onstatechange

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

实例

navigator.requestMIDIAccess()
  .then(function(access) {

     // 获取可用的 MIDI 控制器列表
     const inputs = access.inputs.values();
     const outputs = access.outputs.values();

     access.onstatechange = function(e) {

       // 打印有关连接/断开的 MIDI 控制器的信息
       console.log(e.port.name, e.port.manufacturer, e.port.state);
     };
  });

规范

规范 状态 备注
Web MIDI API 工作草案 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持43 未知 不支持 不支持33 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持4343 未知 未知 未知33 不支持