我正在尝试根据当天的时间在某个特定点播放视频。例如,如果是下午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>

最佳答案

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

10-05 20:59
查看更多