oncanplay против oncanplaythrough - PullRequest
0 голосов
/ 09 января 2019

Оба работают в коде. Что следует использовать?

Радио поток будет рассматриваться что? http://hi5.1980s.fm/;

oncanplay

https://jsfiddle.net/vhgL96se/142/

Событие canplay вызывается, когда пользовательский агент может воспроизводить мультимедиа, но По оценкам, недостаточно данных было загружено для воспроизведения медиа до его конец без остановки для дальнейшей буферизации содержимого.

Браузер может воспроизводить мультимедиа, но, по оценкам, недостаточно данных был загружен для воспроизведения мультимедиа до конца без остановки для дальнейшая буферизация контента.

player.oncanplay = function () {
        if (value.value !== "") {
            canPlay = true;
            playPauseIcon(true);
        }
    };

oncanplaythrough

https://jsfiddle.net/vhgL96se/144/

Событие canplaythrough наступает, когда пользовательский агент может воспроизвести медиа и оценивает, что было загружено достаточно данных для воспроизведения медиа до конца без необходимости остановки для дальнейшей буферизации содержимого.

Браузер оценивает, что может воспроизводить мультимедиа до конца без остановка буферизации содержимого.

player.oncanplaythrough = function () {
        if (value.value !== "") {
            canPlay = true;
            playPauseIcon(true);
        }
    };

Ответы [ 2 ]

0 голосов
/ 09 января 2019

oncanplaythrough - оценка браузерами того, что загружено достаточное количество мультимедиа для возможности воспроизведения до конца.

oncanplay - если загружен какой-либо носитель, но это может привести к прерывистому воспроизведению.

Оба могут использоваться для запуска воспроизведения, но выводят различное значение. MDN - отличный ресурс для разъяснений.

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/oncanplaythrough

https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/oncanplay

0 голосов
/ 09 января 2019

Вы можете использовать oncanplay. Но в некоторых веб-браузерах это ненадежно, поэтому обычно люди используют оба события.

Поскольку оба события запускаются, когда readyState изменилось, вы можете использовать player.readyState, чтобы определить текущее состояние и решить, что делать, если события произойдут до того, как вы установите слушателей.

html.spec URL страницы мультимедиа

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