[英]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.