我正在尝试使用Web MIDI API发送MIDI音调请求消息(2460xF6),但是在Chrome和Opera中,我一直收到“消息不完整”消息。这是有问题的代码:



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

  var outputs = [];

  var iter = interface.outputs.values();
  for (var i = iter.next(); i && !i.done; i = iter.next()) {
    outputs.push(i.value);
  }

  outputs[0].send(246);

});





如果我用246代替同样不需要附加参数(例如248)的类似消息号,则它可以正常工作。

我是否缺少明显的东西?

最佳答案

MIDI消息需要一个3字节的数组。尝试这个 :

outputs[0].send([246, 0, 0]);

10-04 16:47