我正在尝试在一天中的特定时间播放视频。例如,如果是下午16:12:54,我的视频将从16:12:54开始播放。如果是下午16:13:00,则视频将从16:13:00开始,依此类推。目前,它仅在一天中的特定时间播放。非常感谢。
function checkTimeAndPlay() {
var date = new Date();
if (date.getHours() == 12 && date.getMinutes() == 0) {
document.getElementById('video_id').play();
} else {
setTimeout("checkTimeAndPlay", 1000);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 0 :(得分:1)
您需要将当前时间与目标时间一起检查。因此,您应该使用.getHours()
来获取小时,使用.getMinutes()
来获取分钟,而使用.getSeconds()
来获取它们进行检查。
function checkTimeAndPlay() {
var date = new Date();
// Check if time is 16:12:54
if (date.getHours() == 16 && date.getMinutes() == 12 && date.getSeconds() == 54)
document.getElementById('video_id').play();
else {
console.log("Time isn't match");
setTimeout(checkTimeAndPlay, 1000);
}
}
checkTimeAndPlay();
此外,如果您想从特殊时间(当前时间)播放视频,则应更改视频的currentTime
属性。
var date = new Date();
var vid = document.getElementById("myVideo");
vid.currentTime = (date.getHours()*3600) + (date.getMinutes()*60) + date.getSeconds();
vid.play();
答案 1 :(得分:0)
如果我正确理解了您的需求,
答案在这里 Fire event at a certain time of the day
所有有关创建适合您的日期,获取当前时间并使用setTimeout来计算日期差的方法。
要创建所需的日期,请使用new Date(year, month, day, hours, minutes, seconds, milliseconds)