【问题标题】:WebMidi.js does not recognize my midi controllerWebMidi.js 无法识别我的 midi 控制器
【发布时间】:2020-04-22 18:07:45
【问题描述】:

我正在尝试使用 WebMidi.js 库从我的 midi 控制器读取输入。

当我尝试记录输入或输出时,它显示为一个空数组。这是我的代码:

WebMidi.enable(function (err) {
if (err) {
  console.log("WebMidi could not be enabled.", err);
} else {
  console.log("WebMidi enabled!");

  console.log(WebMidi.inputs);
  console.log(WebMidi.outputs);
}
});

我得到的日志是 2 个用于输入和输出的空数组。

这是我在 Mac 中设置的 Midi Studio 的图片。我不确定我是否应该在这里做一些额外的配置来让我的 Roland A-PRO 显示为输入/输出。我看到它是灰色的,这让我认为它必须需要一些额外的配置。

但是,当我通过 Ableton 运行控制器时,它可以工作。

【问题讨论】:

    标签: javascript macos midi web-midi


    【解决方案1】:

    原生 JS 示例

    function midiOnStateChange(event) {
        console.log('midiOnStateChange', event);
    }
    function midiOnMIDImessage(event) {
        console.log('midiOnMIDImessage', event);
    }
    function requestMIDIAccessSuccess(midi) {
        var inputs = midi.inputs.values();
        for (var input = inputs.next(); input && !input.done; input = inputs.next()) {
            console.log('midi input', input);
            input.value.onmidimessage = midiOnMIDImessage;
        }
        midi.onstatechange = midiOnStateChange;
    }
    navigator.requestMIDIAccess().then(requestMIDIAccessSuccess);
    

    在浏览器中运行示例 https://surikov.github.io/webaudiofont/examples/midikey.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-11
      • 2016-05-30
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多