簡體   English   中英

js延遲播放音頻

[英]js delay for play audio

我在網站上收到了一些音頻通知聲音。 它在發生某些事情時播放。 但是我需要使它循環x次。 我希望它做得盡可能簡單,所以我認為我可以使用setTimeout函數。 但不知何故。 這是我的代碼:

var snd = new Audio("sound.mp3");
if (num1 == balance){
 snd.play();
 setTimeout(function() {snd.play()},500);
}

我沒有收到任何錯誤,只是沒有用。 聲音只播放一次。 我的代碼有什么問題? 謝謝

假設您要播放5次。

var snd = new Audio("sound.mp3");
var times = 0;
function play(){
    snd.play();
    times++;
    if(times < 5) setTimeout(play, 500);
}
setTimeout(play, 500);

據我了解您的問題,您想一遍又一遍地循環播放聲音。 因此,您需要使用setInterval而不是setTimeout,以便在設置間隔之后觸發回調。 另外,請使用命名函數,以便您可以在滿足條件后清除間隔。

請參閱: https//www.w3schools.com/jsref/met_win_clearinterval.asp ,以獲取有關該代碼的更多信息。

注意:

  1. setTimeout-在設置的時間過后將僅調用一次函數。
  2. setInterval-將在提到的時間延遲下一次又一次調用函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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