我有下面的代码,但我不确定如何让声音在凌晨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>
请帮助,谢谢。 :)
答案 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);