如何在javascript中在特定时间播放音频
这是我得到的,但我似乎不能自动更新时间如何在javascript中在特定时间播放音频,javascript,audio,Javascript,Audio,这是我得到的,但我似乎不能自动更新时间 <script> function updateTime(){ var currentTime = new Date() var hours = currentTime.getHours() var minutes = currentTime.getMinutes() } setInterval(updateTime, 1000); var audio = new Audio('audio.mp3');`enter code here` if(
<script>
function updateTime(){
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
}
setInterval(updateTime, 1000);
var audio = new Audio('audio.mp3');`enter code here`
if(minutes === 39){
audio.play();
}
</script>
因此,我试图创建一个网络应用程序,将在一天中的特定时间播放音频文件,也有任何方式停止声音在另一个时间?5分钟后再说 正如adeneo的注释所述,您需要在事件函数中包含条件语句 以下内容将每秒调用updateTime,如果一天中的分钟数为39,并且它没有播放,则它将开始播放音频。它还将在五分钟后调用setTimeout停止音频 如果愿意,可以在if语句中添加小时
var audio = new Audio('audio.mp3');
function updateTime(){
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
if (minutes == 39 && audio.paused) {
audio.play();
setTimeout(function() { audtio.pause(); }, 300000);
}
}
setInterval(updateTime, 1000);
首先让我强调一下你的代码出了什么问题 一些行的末尾缺少分号。所以请不要忘记放置它们。 if循环不是迭代的,所以如果你不把它放在像setInterval这样的迭代方法中,它只会在onload时运行。 答案已经贴出来了,所以我用另一种方式写了出来
<script type="text/javascript">
function play(){
setInterval(function updateTime(){
var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var seconds = currentTime.getSeconds();
console.log('minutes');
var audio = new Audio('audio.mp3');
if(minutes === 39 && seconds === 0){
console.log('play');
audio.play();
setTimeout(function() { audio.pause(); }, 200000);
}
},1000);
}
</script>
你必须把条件放在时间间隔内,你可能还要检查几个小时?