HTML видеоплеер выбирает случайный файл, автоматически воспроизводит его, затем ждет 5 минут и снова запускает скрипт - PullRequest
2 голосов
/ 26 апреля 2020

Я пытаюсь создать веб-страницу, на которой есть видеоплеер без элементов управления. Видеопроигрыватель выбирает случайное видео из списка, воспроизводит его, ждет 5 минут, затем выбирает другое случайное видео из списка и проигрывает его снова и снова.

Мне дали следующий код, но это не работает При загрузке страницы видео не воспроизводится.

Каталог содержит код в одном файле HTML и 3 файлах WEBM (vidplayer. html 1.webm 2.webm 3.webm).

    <html>
    <body>
        <video id="video" width=800 height=600 muted autoplay> <\video>

        <script>
            var vidList = ["1.webm", "2.webm", "3.webm"];

            var video = document.getElementById("video");

            function randInt(min, max) {
                return Math.floor(Math.random() * (max - min + 1) + min);
            }

            video.src = vidList[randInt(0,3)];

            while(true){
                setTimeout(video.src = vidList[randInt(0,3)], 300000) ;
            }
        <\script>
    <\body>
    <\html>

1 Ответ

2 голосов
/ 26 апреля 2020

Остерегайтесь закрывающих тегов html: <\script> должно быть </script> и т. Д.

Ваш , в то время как (true) является бесконечным l oop и является создание бесконечных тайм-аутов.

Возможно, вы захотите сделать:

setInterval(function changeVideo() {
  video.src = vidList[randInt(0, 2)];
}, 300000);

setInterval будет вызываться бесконечно каждые 300000 миллисекунд.

Это имеет тот же результат, что и сам вызов setTimeout :

setTimeout(function changeVideo() {
  video.src = vidList[randInt(0, 2)];
  setTimeout(changeVideo, 300000);
}, 300000);

Если вы хотите, чтобы число от 3 до 2 для ваших трех видео, вы должны позвонить randInt(0, 2) способ создания randInt.

Вы можете увидеть, как это работает, с парой видео и 15 секундная задержка между видео здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...