Воспроизведение видео в определенный момент в определенное время дня - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь воспроизвести видео в определенный момент, в зависимости от того, в какое время дня. Например, если это было 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 голосов
/ 15 ноября 2018

Вам необходимо проверить текущее время с заданным временем.Таким образом, вы должны получить час, используя .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();
0 голосов
/ 15 ноября 2018

Если я правильно понял, что вам нужно,

ответы здесь Пожар в определенное время суток

Это все о создании даты, которая подходит вам, получить текущее время и использовать setTimeout для разницы с датой.

Чтобы создать нужную дату, используйте new Date(year, month, day, hours, minutes, seconds, milliseconds)

...