在一天中的某个时间点播放视频

Playing video at certain point at certain time of the day

我试图让我的视频在特定时间播放,具体取决于当天的几点。例如,如果是 16:12:54 p.m,我的视频将从 16:12:54 开始播放。如果是 16:13:00 p.m,则视频将从 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>

如果我理解正确的话,

答案在这里 Fire event at a certain time of the day

这一切都是关于创建适合您的日期,获取当前时间并使用 setTimeout 作为日期的差异。

要创建您想要的日期,请使用 new Date(year, month, day, hours, minutes, seconds, milliseconds)

您需要检查当前时间与目标时间。因此,您应该使用 .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();