Javascript Midi.js如何播放?

Javascript Midi.js如何播放?,javascript,android,html,midi,Javascript,Android,Html,Midi,我想通过mudcube Midi.js demo-basic.html示例听到声音,但我听不到声音。有人能帮我吗?我只是个初学者谢谢 <html xmlns = "http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <!-- midi.js package

我想通过mudcube Midi.js demo-basic.html示例听到声音,但我听不到声音。有人能帮我吗?我只是个初学者谢谢

    <html xmlns = "http://www.w3.org/1999/xhtml">
    <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8" />
     <!-- midi.js package -->
     <script src="./js/MIDI/AudioDetect.js" type="text/javascript"></script>
     <script src="./js/MIDI/LoadPlugin.js" type="text/javascript"></script>
     <script src="./js/MIDI/Plugin.js" type="text/javascript"></script>
     <script src="./js/MIDI/Player.js" type="text/javascript"></script>
     <script src="./js/Window/DOMLoader.XMLHttp.js" type="text/javascript"></script>
     <!-- extras -->
     <script src="./inc/Base64.js" type="text/javascript"></script>
     <script src="./inc/base64binary.js" type="text/javascript"></script>
    </head>
    <body>
    <script type="text/javascript">

            window.onload = function () {
                MIDI.loadPlugin({
                    soundfontUrl: "./soundfont/",
                    instrument: "acoustic_grand_piano",
                    callback: function() {
                var delay = 0; // play one note every quarter second
                var note = 50; // the MIDI note
                var velocity = 127; // how hard the note hits
                // play the note
        MIDI.setVolume(0, 127);
        MIDI.noteOn(0, note, velocity, delay);
        MIDI.noteOff(0, note, delay + 0.75);
    }
        });
    };

    </script>
    </body>
    </html>

window.onload=函数(){
MIDI.loadPlugin({
soundfontUrl:“./soundfont/”,
乐器:“原声大钢琴”,
回调:函数(){
var delay=0;//每四分之一秒播放一个音符
var note=50;//MIDI音符
var velocity=127;//音符的力度
//演奏音符
MIDI.setVolume(0127);
MIDI.noteOn(0,音符,速度,延迟);
MIDI.noteOff(0,音符,延迟+0.75);
}
});
};

发生了一个跨源请求,不允许上传Soundfont。你可以在谷歌浏览器控制台上看到这一点。它目前是midi.js Github repo上的一个公开问题。(). 这里有一些建议将帮助您启动并运行它,直到他们推出解决此问题的版本。

它在FireFox浏览器中工作。但我无法让它一次演奏一个音符。我一次演奏3个不同的音符,但它们都像和弦一样演奏。

试试下面的代码。时间是不正确的,因为它是工作进行lol,但它应该发挥生日快乐

onsuccess: function() { var delay = 0; // play one note every quarter second
var note = 50; // the MIDI note
var velocity = 127; // how hard the note hits
var i;  
var Note1Play = [60, 60, 62, 60, 65, 64, 60, 60];
var Length1_Note = [0.455, 0.455, 0.91, 0.91, 0.91, 1.82, 0.455, 0.455];
MIDI.setVolume(0, 127);
delay = .455;
for (i=0; i<=24; i++){
  delay = delay + Length1_Note[i];
  MIDI.noteOn(0, Note1Play[i], velocity,delay);
  MIDI.noteOff(0,Note1Play[i],delay + 32);
}    }    });    };
onsuccess:function(){var delay=0;//每四分之一秒播放一个音符
var note=50;//MIDI音符
var velocity=127;//音符的力度
var i;
var Note1Play=[60,60,62,60,65,64,60,60];
var Length1_注释=[0.455,0.455,0.91,0.91,0.91,1.82,0.455,0.455];
MIDI.setVolume(0127);
延迟=0.455;

对于(i=0;i如果您有正确的脚本源,此代码将播放“生日快乐”歌曲:


函数myFunction(){
MIDI.loadPlugin({
onsuccess:函数(){
var delay=0;//每四分之一秒播放一个音符
var note=50;//MIDI音符
var velocity=127;//音符的力度
var i;
var Note1Play=[60,60,67,67,69,69,67,65,65,64,64,62,62,60];
变量长度1_注释=[0.5,0.5,0.5,0.5,0.5,0.5,0.5,1,0.5,0.5,0.5,0.5,0.5];
MIDI.setVolume(0127);
延迟=0;

对于(i=0;i您没有得到答案,因为问题中没有足够的代码供任何人运行。我们需要下载页面中引用的所有其他JavaScript库,以便创建演示。您可能希望查看如何创建问题的演示,例如,在上,您可以链接到.js文件的在线版本。