Javascript MIDI.js错误代码:1,can';t请求MIDI访问
我正在尝试使用MIDI.js在浏览器中播放声音。 它在我的一台电脑上的chrome浏览器中工作,但在我的另一台电脑上(chromebook)或在我的两个朋友的电脑上的chrome浏览器中不工作 它打印到控制台 “哦!出问题了!错误代码:1”MIDI.js:349 这是指MIDI.js的这一部分Javascript MIDI.js错误代码:1,can';t请求MIDI访问,javascript,midi,web-audio-api,Javascript,Midi,Web Audio Api,我正在尝试使用MIDI.js在浏览器中播放声音。 它在我的一台电脑上的chrome浏览器中工作,但在我的另一台电脑上(chromebook)或在我的两个朋友的电脑上的chrome浏览器中不工作 它打印到控制台 “哦!出问题了!错误代码:1”MIDI.js:349 这是指MIDI.js的这一部分 navigator.requestMIDIAccess(function (access) { plugin = access; output = plugin.getO
navigator.requestMIDIAccess(function (access) {
plugin = access;
output = plugin.getOutput(0);
if (callback) callback();
}, function (err) {
console.log("uh-oh! Something went wrong! Error code: " + err.code );
});
我发现这篇文章似乎是指我遇到的问题,但我不太确定
它说为了我不明白的原因交换代码的某些部分
navigator.requestMIDIAccess( successCallback, failureCallback );
变成:
navigator.requestMIDIAccess().then( successCallback, failureCallback );
但是在替换了MIDI.js344上的那个部分之后,我得到了错误消息
未捕获的TypeError:无法调用未定义的方法“then”
如果您能帮助解决此问题,使其在所有浏览器中都能正常工作,或者至少在所有chrome浏览器中都能正常工作,我们将不胜感激。谢谢你Chromebook还没有Web MIDI API支持(如果你没有启用它,在Mac或Windows上也不支持,如果你没有运行Canary,在Windows上也不支持)。谢谢你,我是要解决这个问题,还是等一下?恐怕你只能等一下了。请注意,MIDI.js假设在输出#1上有一个通用的MIDI合成器-这并不总是正确的,在Chromebook上可能也不会正确(除非您插入了GM synth)。我们真的需要在Web Audio中实现基于soundfont的synth。我认为MIDI.js库有一些回退,可以支持没有MIDI的浏览器(通过使用WebAudio API或Audio标记)。您可以尝试在Chromebook上运行一些MIDI.js演示吗?库中包含一个demo-Basic.html示例。