如何通过MIDI Web API 指定要在哪个通道上发送Midi消息?
This example from the official docs显示了如何在频道1上发送消息。但是在代码段中,我没有找到任何引用。
// This example sends a middle C note on message immediately on MIDI channel 1
function sendMiddleC( midiAccess, portID ) {
var noteOnMessage = [0x90, 60, 0x7f]; // note on, middle C, full velocity
var output = midiAccess.outputs.get(portID);
output.send( noteOnMessage ); //omitting the timestamp means send immediately.
}
如何在频道2上发送相同的消息?
答案 0 :(得分:1)
midi协议的“消息”使用十六进制表示形式。
上半部分专用于该命令,而下半部分则用于指定通道。它们是16个可能的通道(MIDI通道为0索引,如文档中所指定)。
示例:
0x90表示 Chan 1 (0x9 0 )上的 Note (0x 9 0)
因此,如果您想在频道2上发送相同的消息,则必须像这样进行更改:
var noteOnMessage = [0x91, 60, 0x7f];