我正在尝试学习timbre.js javascript库。在项目页面上有一个使用键盘输入来改变振荡器音高的功能预览,但是一旦将代码复制到我的计算机上的新HTML文档,它就不再有效。一旦复制过,项目页面中的更简单的代码片段就可以正常工作。
项目页面位于:http://mohayonao.github.io/timbre.js/PragmaSynth.html
这是代码:
<script src="timbre.js"></script>
<script>
var VCO = T("saw", {freq:880, mul:0.2}).play();
var keydict = T("ndict.key");
var midicps = T("midicps");
T("keyboard").on("keydown", function(e) {
var midi = keydict.at(e.keyCode);
if (midi) {
VCO.freq.value = midicps.at(midi);
}
}).start();
</script>
答案 0 :(得分:1)
T('keyboard')
和T('ndict.key')
似乎需要包含一个名为keyboard.js
的额外脚本,可在此处找到。 http://mohayonao.github.io/timbre.js/src/extras/keyboard.js
所以你的代码看起来像这样..
<script src="timbre.js"></script>
<script src="keyboard.js"></script>
<script>
var VCO = T("saw", {freq:880, mul:0.2}).play();
var keydict = T("ndict.key");
var midicps = T("midicps");
T("keyboard").on("keydown", function(e) {
var midi = keydict.at(e.keyCode);
if (midi) {
VCO.freq.value = midicps.at(midi);
}
}).start();
</script>