簡體   English   中英

如何在 p5.js 中動態更改聲音文件

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM