我正在尝试使用Tone.js用javascript制作音乐。每当我尝试使其工作时,我都会收到错误消息“ tonetutorial.html:26 Uncaught TypeError:Tone.Player不是构造函数”。
我位于HTML文件的顶部。我目前正在使用Brackets编写和预览我的代码。
这是我的javascript函数
function sequencer() {
const kick= new Tone.Player("Cartoon_Boing.mp3").toMaster();
const kickInputs = document.querySelectorAll(".kick");
}
sequencer();
这是HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js"></script>
<script src=tonetutorial.js></script>
<body>
<h1>Music Maker</h1>
<div class="drums">
<div class="kick">
<input type="Checkbox">
</div>
</div>
</body>
当我尝试运行它时,会被告知“ Tone.Player”不是构造函数。我不能在这种情况下使用网络CDN吗?我必须将.min下载到我的桌面上吗?
答案 0 :(得分:1)
https://cdnjs.cloudflare.com/ajax/libs/tone/14.0.2/Tone.min.js
不包括Player
。
该库的releases page显示最新发布的版本是13.4.9。
14.0.2可能是越野车。
使用<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js"></script>
解决了此问题。
答案 1 :(得分:1)
您正在使用的Tone.js版本似乎太新了,并且仍在开发中。 The official Tone.js documentation for player
在URL中显示r13
,并且在the GitHub repo上对master
分支的最后一次提交是在1月10日,与January 9th release on GitHub相吻合,即最新版本。此外,搜索链接到的代码似乎在任何地方都不包含Player
,并且link to download on the GitHub repo下载的版本13.4.9
确实包含Player
。
相反,请考虑使用:
<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/13.4.9/Tone.min.js"></script>