Проверка, готово ли видео html5 - PullRequest
37 голосов
/ 03 марта 2011

Есть ли событие JavaScript, если видео HTML5 готово для воспроизведения?

Ответы [ 5 ]

81 голосов
/ 28 марта 2012

Только что наткнулся на этот вопрос, и, хотя он немного стар, я публикую его для будущих читателей (которые, как и я, вероятно, пришли из Google).

Итак, на сегодняшний день это список событий для html5 media (согласно W3C):

  • onabort : скрипт, запускаемый при сбое
  • oncanplay : скрипт, запускаемый, когда файл готов начать воспроизведение (когда он достаточно буферизован, чтобы начать)
  • oncanplaythrough : Скрипт, запускаемый, когда файл может быть воспроизведен до конца без остановки для буферизации
  • ondurationchange : скрипт, запускаемый при изменении длины носителя
  • onemptied : Скрипт, запускаемый, когда происходит что-то плохое и файл внезапно становится недоступным (например, неожиданно отключается)
  • onended : Скрипт, запускаемый, когда носитель подходит к концу (полезное событие для сообщений типа «спасибо за прослушивание»)
  • onerror : скрипт, запускаемый при возникновении ошибки при загрузке файла
  • onloadeddata : скрипт, запускаемый при загрузке медиа-данных
  • onloadedmetadata : скрипт, запускаемый при загрузке метаданных (например, измерений и продолжительности)
  • onloadstart : Скрипт, запускаемый как раз в тот момент, когда файл начинает загружаться до того, как что-либо действительно загружается
  • onpause : сценарий, запускаемый, когда носитель приостанавливается пользователем или программно
  • onplay : Скрипт, запускаемый, когда носитель готов начать воспроизведение
  • onplaying : Скрипт, запускаемый, когда медиа фактически начал воспроизводиться
  • onprogress : скрипт, запускаемый, когда браузер находится в процессе получения медиа-данных
  • onratechange : скрипт, запускаемый при каждом изменении скорости воспроизведения (например, когда пользователь переключается в режим замедленной или ускоренной перемотки вперед)
  • onreadystatechange : скрипт, запускаемый каждый раз при изменении состояния готовности (состояние готовности отслеживает состояние данных мультимедиа)
  • onseeked : Скрипт, запускаемый, когда атрибут поиска имеет значение false, указывающее, что поиск завершен
  • onseeking : Скрипт, запускаемый, когда атрибут поиска имеет значение true, указывающее, что поиск активен
  • onstalled : Скрипт, запускаемый, когда браузер по какой-либо причине не может извлечь данные мультимедиа
  • onsuspend : Скрипт, запускаемый при извлечении данных носителя, останавливается до полной загрузки по какой-либо причине
  • ontimeupdate : Скрипт, запускаемый при изменении позиции воспроизведения (например, когда пользователь ускоряет перемотку вперед в другую точку на носителе)
  • onvolumechange : скрипт, запускаемый при каждом изменении громкости, который включает (включая установку громкости звука)
  • onwaiting : Скрипт, запускаемый, когда носитель приостановлен, но ожидается его возобновление (например, когда носитель приостанавливается для буферизации большего количества данных).

Данц искал возможность прохождения.

Надеюсь, это поможет.

16 голосов
/ 03 марта 2011

Я предполагаю, что готовность к воспроизведению означает, что свойство readyState равно HAVE_ENOUGH_DATA константе (числовое значение 4). Согласно doc , когда свойство readyState обращается к этому значению, должно быть вызвано событие canplay.

6 голосов
/ 03 марта 2011

Хорошая дискуссия здесь ...

http://tiffanybbrown.com/2010/07/05/the-html5-video-progress-event/

Особенно первый комментарий.

По сути, это было в спецификации и было удалено, потому что оно не совсем соответствовало способу воспроизведения медиа. Вместо этого был добавлен .buffered.

Вот пример использования в буфере:

http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/

2 голосов
/ 03 марта 2011

У вас есть 2 события для обработки, когда видео готово к воспроизведению.

  • canplay: срабатывает, когда видео готово к воспроизведению но буферизация не завершена
  • canplaythrough: срабатывает, когда видео готово к воспроизведению и буферизация завершена
0 голосов
/ 25 ноября 2011

Я считаю http://www.w3.org/TR/html5/video.html#mediaevents чрезвычайно полезным, поскольку в нем перечислены все события, которые доступны, когда дело доходит до тегов html5.

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