[英]How to change Sound file dynamically in p5.js
我只想在负载中加载动态声音。 但是有缓冲区错误。 它需要停止,但如果停止,则无法播放。
let mySound; function preload() { soundFormats('mp3', 'ogg'); mySound = loadSound('assets/doorbell'); } function setup() { let cnv = createCanvas(100, 100); cnv.mousePressed(canvasPressed); background(220); text('tap here to play', 10, 20); } function canvasPressed() { // playing a sound file on a user gesture // is equivalent to `userStartAudio()` mySound = loadSound('assets/othersound'); //<----------LOAD ANOTHER SOUND mySound.play(); }
在你的画布中按下 function; 反转这两行:
mySound.play();
mySound = loadSound('assets/othersound'); //<----------LOAD ANOTHER SOUND
首先播放已加载的声音(预加载),然后加载新声音。 但是,如果声音文件较大或服务器速度较慢,则在您第二次单击时声音可能尚未加载。 您可以随时检查它是否加载了 mySound.isLoad()。 但更有效的方法是这样做:
function canvasPressed() {
// playing a sound file on a user gesture
// is equivalent to `userStartAudio()`
mySound = loadSound('assets/othersound', function(){
mySound.play();
});
}
然后你不必在预加载中加载任何东西。 在 loadSound() function 中,第一个参数是声音文件的 url,第二个参数是 'succesCallback'。 function 在加载声音文件并准备播放时运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.