我正在尝试学习有关p5的知识,并一直在阅读教程(https://p5js.org/reference/#/p5.SoundFile)。
function preload() {
soundFormats('mp3', 'ogg');
mySound = loadSound('assets/cam.mp3');
}
function setup() {
mySound.setVolume(0.1);
mySound.play();
}
我逐字遵循了文档,但我换了自己的测试歌曲。在repl.it https://repl.it/@JacksonEnnis/Coloquial上运行此命令时,出现错误,指出"ReferenceError: soundFormats is not defined"
。但是,我知道此函数已定义,因为它来自文档。我已经搜索了这个问题,但是似乎并没有遇到一个普遍的问题。
如果有人知道为什么会发生这种情况,请向我解释,以便我学习。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>repl.it</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.9.0/p5.js"></script>
<script src="script.js"></script>
</body>
</html>
答案 0 :(得分:1)
只是总结评论。 这是可行的解决方案:
<!doctype HTML>
<html>
<head>
<html><head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/p5.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/addons/p5.sound.js"></script>
</head>
<body>
<script>
function preload() {
soundFormats('ogg', 'mp3');
mySound = loadSound('https://ia802508.us.archive.org/5/items/testmp3testfile/mpthreetest.mp3');
}
function setup() {
mySound.setVolume(1);
// mySound.play();
mySound.loop();
}
</script>
</body>
</html>
如您所见:p5.sound.js文件也必须包括在内。它必须是有效路径,并且必须在p5.js之后加载。
soundFormats是p5.sound.js中定义的函数。如果此javascript文件未正确加载,则会出现错误消息“未定义soundFormats”。