gpt4 book ai didi

javascript - 在 MidiOutput 代理上调用 "send"时出现类型错误

转载 作者:行者123 更新时间:2023-11-28 07:43:30 24 4
gpt4 key购买 nike

显然 dart 中的 navigator.requestMIDIAc​​cess() 方法有问题。 https://code.google.com/p/dart/issues/detail?id=21805

所以我尝试了使用 javascript 代理的解决方法。在控制台上列出 MIDI 端口没有问题。但是,当我尝试发送 MIDI 音符时,会出现错误:“类型错误”

我不知道如何传递“note-on”参数? output.callMethod('发送', [[144, 60, 127]]);输出[0]给我“Microsoft GS Wavetable Synth”

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]]);
}

最佳答案

传递给 send 方法的数据数组需要从 Dart 数组转换为 Javascript 数组,使用 dart:js 如下:


output.callMethod('发送', [new JsArray.from([144, 60, 127])]);

关于javascript - 在 MidiOutput 代理上调用 "send"时出现类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27735774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com