Подтвердить что ты не робот

Почему в Chrome установлен параметр currentTime видеоэлемента HTML5 reset?

Я хочу установить временную позицию видео в HTML5. Время должно быть установлено так:

function settime(){
    var video = document.getElementById("video1");
    console.log(video.currentTime); //----->output for example 15.3
    video.currentTime = 10.0;
    console.log(video.currentTime);//----->>output always 0
}

И видео встраивается так:

<button onclick="settime();">Set Time</button>
<div class="container">
<video id="video1" class="video-js vjs-default-skin" muted>
     <source src="video.m4v" type="video/mp4" />
     HTML5 Video is required for this example.
</video>

Но по какой-то причине это всегда просто сбрасывает currentTime в 0 в Chrome.

Почему сбрасывается время при установке currentTime? И как правильно установить currentTime?

4b9b3361

Ответ 1

Я наконец-то понял ответ! Chrome требует, чтобы вы указали currentTime в виде строки, а не числа.

function settime() {
    var video = document.getElementById("video1");
    console.log(video.currentTime); // output 0
    video.currentTime = 10.0;
    console.log(video.currentTime); // output 0 for some chrome users or 10 for firefox and others
    video.currentTime = "10.0";
    console.log(video.currentTime); // output 10
}

settime();
<audio id="video1" src="https://sample-videos.com/audio/mp3/crowd-cheering.mp3" controls></audio>
<div>Click play to start the audio at 10 s.</div>

Ответ 2

Это должно быть

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

поскольку у вас есть

<video id="video1" class="video-js vjs-default-skin" muted>