在一天中的特定时间播放特定视频

时间:2018-11-15 07:42:50

标签: javascript jquery html5-video video-player

我正在尝试在一天中的特定时间播放视频。例如,如果是下午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>

2 个答案:

答案 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)