Полная строка кода, где # - целое число:
document.getElementById("videoId").buffered.start(#);
document.getElementById("videoId").buffered.end(#);
document.getElementById("videoId").buffered.length;
Если что-то кэшируется, не должно ли оно сразу загрузиться? Следовательно, video.buffered.end(0)
после запуска кэшированного видео автоматически будет конец видео?
Кто-то может поправить меня или подтвердить это.
Примечание: end()
требует параметра. Этот параметр возвращает значение для определенного буферизованного vid. например. Если начинается видео продолжительностью 60 секунд, start(0)
равно 0, а end(0)
постепенно увеличивается. Если вы измените положение видео на 30 секунд, start(1)
становится 30 секунд, а end(1)
постепенно увеличивается с 30 секунд.
К сожалению, я обнаружил, что мобильный iOS Safari на iOS 10.2.1 всегда возвращает значение 1 для .length
. В связи с этим, я подозреваю, что поддержка не поддерживается в разных браузерах. Это ухудшается в Firefox 51.0.1 (который должен иметь лучшую поддержку этих методов), который увеличивает .length
на 1, а затем вскоре после этого снова уменьшает. Я подозреваю, что это может быть вызвано тем, что Firefox объединяет две буферизованные части видео.
По указанным выше причинам я попытался бы найти другой способ определить, как определить, кэшировано ли видео.
Попробуйте ввести URL-адрес для Chrome & Firefox:
about:cache