(Javascript音频在每天的特定时间开始/停止)音频从凌晨5点开始,10分钟后结束

时间:2014-01-14 15:50:00

标签: javascript audio

我有下面的代码,但我不确定如何让声音在凌晨5点后停止播放。

所以点击凌晨5点,音频开始播放正常,我不知道如何让音频在凌晨5点钟停止,然后第二天就会重复音频。

   <script type="text/javascript">

var audio = new Audio('audio.mp3');

function updateTime(){
  var currentTime = new Date();
  var hours = currentTime.getHours();
  var minutes = currentTime.getMinutes();

  if (hours == 5 && minutes == 0) {
     audio.play();

    setTimeout(function() { audio.pause(); }, 8.28e+7);
}
}
setInterval(updateTime, 1000);

</script>

请帮助,谢谢。 :)

1 个答案:

答案 0 :(得分:1)

8.28e+7 1380分钟......那是将近一整天 - 而不是10分钟!

试试这个:

setTimeout(function() { audio.pause(); }, 600000);

您还应注意,由于您的间隔每1秒运行一次,因此您的setTimeout函数最多会被调用59次。我建议使用isPlaying标志。

例如:

var audio = new Audio('audio.mp3');
var isPlaying = false;

function updateTime(){
    var currentTime = new Date();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();

    if (!isPlaying && hours == 5 && minutes == 0) {
        audio.play();
        isPlaying = true;
        setTimeout(function() { audio.pause(); isPlaying = false; }, 600000);
    }
}
setInterval(updateTime, 1000);