Я работаю над несколькими потоковыми видео.Это работает таким образом, когда я переключаюсь на новую вкладку и остаюсь там в течение одной минуты, потоковое видео в предыдущей вкладке приостанавливается.Ниже приведен код, который делает это:
// If the live streaming videos get hidden for one minute, it get paused.
no.visibility': function() {
hiddenTimeout = setTimeout(function () {
let lens, hash;
for (hash in lenss) {
lens = lenss[hash];
if (lens.loaded && lens.player != undef) {
if (lens.player.isPlaying()) {
lens.player.pause();
}
if (lens.mjpeg_player != undef) {
lens.mjpeg_player.pause();
}
}
}
hiddenTimeout = undef;
}, 60000);
}
Внутри функции pause () у меня есть следующий код.Я полагаю (не уверен), что внутри кода паузы что-то не так, что не делает видео-паузу мгновенно (хотя появляется знак паузы).
pause: function() {
clearTimers();
if (instance.playing) {
if (instance.type == "video") {
if (
!("readyState " in video) ||
(video.currentTime > 0 &&
!video.paused &&
!video.ended &&
video.readyState > 2)
) {
if (hls != undef) {
hls.stopLoad();
}
video.pause();
}
}
playerState = 2;
}
target.dataset.mediaPlayback = "pause";
instance.trigger("pause").instance;
},
Постановка проблемы:
Приведенный выше код, похоже, не приостанавливает видео. Появляется знак паузы, но я все еще вижу в видео происходит некоторая активность с присутствием знака паузы .Через несколько минут видео останавливается.
Мне интересно, по каким причинам за видео не приостанавливаются мгновенно .Что-то не так в коде?
Я полагаю, что-то не так в функции pause (), которая не останавливает ее сразу.Это показывает знак паузы, но активность все еще присутствует.