清除 MIDI 输出缓冲区

Clearing MIDI output buffer

使用 Web MIDI API,我可以发送一些消息:

// Note on
output.send([0x90, 0x20, 0x50]);

我也可以安排一些消息在未来适时发送:

// Note off, 1 second later
output.send([0x80, 0x20, 0x40], performance.now() + 1000);

现在,假设我在几秒钟内安排了将来要发送的许多消息,现在我想取消这些消息的发送。 According to the spec,我应该可以在输出上调用 clear

output.clear();

然而,这在 Chrome 上是未定义的(至少从 v79 开始)。

Uncaught TypeError: output.clear is not a function

我想这部分还没有实现。是这样吗?如果是这样,我今天可以使用其他替代方法吗?

确实还没有。 您可以关注 this issue 以获取最新进展。

请注意,Firefox 有一个允许 Web Midi 的标志 API,可能值得一试,看看他们是否处理它。