使用 WebMIDI API 发送 MIDI 调音请求导致错误

Sending a MIDI tuning request with the WebMIDI API results in error

我正在尝试使用 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]);