我有以下代码:

   var player = document.createElement('audio');
player.src = 'https://dl.dropbox.com/u/7079101/coin.mp3';
player.preload = 'auto';

   var url= 'http://www.businessdictionary.com/definition/update.html';

window.setInterval(function(){
  if($("*:contains(Update')").length > 0){
    console.log('New Update, playing sound...');
    player.play();
  }
}, 5000);



该代码的效果很好,但是音频会永远循环。有什么方法可以使音频只播放一次?

最佳答案

您正在使用window.setInterval这将永久重复对player.play()的调用,直到您调用clearInterval()为止。

如果您只想让播放器玩一次,建议您改用window.setTimeout

var player = document.createElement('audio');
player.src = 'https://dl.dropbox.com/u/7079101/coin.mp3';
player.preload = 'auto';

   var url= 'http://www.businessdictionary.com/definition/update.html';

window.setTimeout(function(){
  if($("*:contains(Update')").length > 0){
    console.log('New Update, playing sound...');
    player.play();
  }
}, 5000);

09-10 05:11
查看更多