我正在开发node-midi,这是RtMidi C++库的一个node.js包装器,提供实时MIDI I/O,以及它的简化包装器node-easymidi。
这个库工作得很好,但有一件事,我不仅想从easymidi读取midi钢琴键盘输入,还想从另一个应用程序FL studio读取midi输入声音。如果我试图在FL工作室的时候连接到easymidi,我得到一个错误的MidiInWinMM::initialize: no MIDI input devices currently available.。所以在运行node应用程序之前,我需要退出FL studio。
那么,除了节点应用程序之外,我如何修改代码才能使用多个应用程序呢?或者我需要安装其他库或更改Windows设置?我读了google,stackoverflow,github的问题,但我自己找不到解决方案。所以我需要你的帮助。谢谢。
这是代码。
var easymidi = require('easymidi');
var inputs = easymidi.getInputs();
var outputs = easymidi.getOutputs();
console.log(inputs, outputs ) ;
// [ 'CASIO USB-MIDI 0' ] [ 'Microsoft GS Wavetable Synth 0', 'CASIO USB-MIDI 1' ]
var input = new easymidi.Input('CASIO USB-MIDI 0');
input.on('noteon', function (msg) {
console.log(msg ) ;
});
input.on('noteoff', function (msg) {
console.log(msg ) ;
});发布于 2020-12-21 14:09:55
不幸的是,MIDI乐器不能在Windows中共享。如果端口由一个应用程序使用,则另一个应用程序无法连接到该端口。
https://stackoverflow.com/questions/65368438
复制相似问题