1
顯然dart中的方法navigator.requestMIDIAccess()存在問題。 https://code.google.com/p/dart/issues/detail?id=21805在MidiOutput代理上調用「send」時出現類型錯誤
所以我嘗試了使用JavaScript代理的解決方法。 列出控制檯上的midi端口沒有問題。 但是,當我嘗試發送一個midi音符時,會出現錯誤:'Type Error'
我無法找到如何傳遞'note-on'參數嗎? output.callMethod('send', [[144 , 60, 127]]);
輸出[0]給出我「微軟GS波形表合成器」
import 'dart:html';
import 'dart:js';
void main() {
final JsObject w = new JsObject.fromBrowserObject(window);
final JsObject n = w['navigator'];
if (n.hasProperty('requestMIDIAccess')) {
n.callMethod('requestMIDIAccess').callMethod('then', [(JsObject midiAccess) {
JsObject inputs = new JsObject.jsify(midiAccess.callMethod('outputs'));
for (JsObject input in inputs) {
print(input['name']);
}
;
sendMiddleC(midiAccess, 1);
}]);
}
}
void sendMiddleC(midiAccess, portID) {
JsObject outputs = midiAccess.callMethod('outputs');
JsObject output = outputs[0];
output.callMethod('send', [[144 , 60, 127]]);
}
什麼是完整的錯誤信息,以及它發生在哪一行? – Barmar
非常感謝,rms! – user2227199