1

我想将 MIDI 钢琴键盘插入计算机的 USB 端口,并通过在浏览器中显示某些内容来响应按键事件。

有谁知道允许 JavaScript 与前端/浏览器中的 USB MIDI 键盘事件交互的库?

类似于:
链接到 index.html 的 script.js 文件:

$(document).on('midi-key-press', function(event) {
    alert('the key that you pressed was ' + event.whichKey);
});

谢谢!

4

1 回答 1

4

Webkits 浏览器有一个原生的 api。

最好是详细检查规格:https ://webaudio.github.io/web-midi-api/

关于 Firefox,这个问题很久以来就被问到了。似乎支持即将到来。

https://bugzilla.mozilla.org/show_bug.cgi?id=836897

我曾经使用 web midi api 做了一些解决方法。它检测任何通道上的任何 MIDI 旋钮,并会改变页面的背景颜色。基于规范提供的脚本示例。

希望你会发现一些有趣的东西。

https://github.com/webdev23/midiKnobControl

公平地说,它是一个非常强大但难以处理的 api。

这需要对 midi 协议有很好的了解,熟悉您的 midi 设备,并了解最新的 javascript。了解网络音频 api 的工作原理也很重要:https ://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API

编辑:Mozilla 就在上面:https ://github.com/mozilla/standards-positions/issues/58

于 2018-01-29T18:37:59.123 回答