首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Midi.js怎么玩?

Midi.js怎么玩?
EN

Stack Overflow用户
提问于 2014-02-10 20:09:24
回答 4查看 4.1K关注 0票数 1

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

代码语言:javascript
复制
    <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>
EN

回答 4

Stack Overflow用户

发布于 2014-03-15 01:55:53

发生了不允许上传Soundfont的跨区域请求。你可以在Google Chrome控制台中看到这一点。它目前在midi.js Github repo上是一个开放的问题。(https://github.com/mudcube/MIDI.js/issues/63)。这里有一些建议,可以帮助你启动和运行它,直到他们推出一个解决这个问题的版本。

票数 1
EN

Stack Overflow用户

发布于 2017-01-18 06:08:13

它可以在FireFox浏览器中工作。但我不能让它一次演奏一个音符。我在一个循环中一次弹奏3个不同的音符,但它们都像和弦一样演奏。

票数 0
EN

Stack Overflow用户

发布于 2017-01-22 03:48:58

试试这段代码。时间不对,因为它正在工作,哈哈,但它应该玩生日快乐。

代码语言:javascript
复制
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);
}    }    });    };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21676851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档