--- title: 'События в медиа (audio, video) объектах' slug: Web/Guide/Events/Media_events tags: - Видео - Медиа - аудио - события translation_of: Web/Guide/Events/Media_events ---
Встроенные с помощью HTML тегов {{ HTMLElement("audio") }} или {{ HTMLElement("video") }} медиа объекты генерируют различные события. В этом разделе приведен их список и описание.
Название события | Описание |
---|---|
abort |
Отправляется, когда воспроизведение прерывается; Например, если воспроизведение медиа прерывается и начинается с самого начала, это событие будет отправлено. |
{{event("canplay")}} |
Отправляется, когда доступно достаточно данных для того, что бы медиа могло воспроизвестись, по крайней мере, в течение нескольких кадров. Соответствует состоянию (readyState) HAVE_ENOUGH_DATA. |
{{event("canplaythrough")}} |
Отправляется, когда состояние готовности изменяется к CAN_PLAY_THROUGH. Указывает, что медиа может быть полностью воспроизведено без перерыва, предполагая, что скорость загрузки остается, по крайней мере на нынешнем уровне. Примечание: Ручная установка CURRENTTIME вызовет событие canplaythrough в Firefox. В других браузерах это может не произойти. |
{{event("durationchange")}} |
Метаданные были загружены или изменены, что указывает на изменение в продолжительности медиа. Может быть отправлено, например, когда медиа загружено достаточно для того, чтобы продолжительность уже была известна. |
{{event("emptied")}} |
Медиа стало пустым. Например, это событие отправляется, если медиа уже загружено (или частично загружено), и метод load() был вызван что бы его перезагрузить. |
encrypted {{experimental_inline}} | The user agent has encountered initialization data in the media data. |
ended |
Отправляется, когда воспроизведение завершено. |
error |
Отправляется, когда произошла ошибка. Атрибут error медиа объекта содержит более подробную информацию об ошибке. Смотрите Error handling, что бы узнать подробнее. |
interruptbegin |
Отправляется, когда воспроизведение на Firefox OS устройстве прервано по любой из причин - например, если приложение ушло в фон или аудио с большим приоритетом начало воспроизведение. См. Using the AudioChannels API. |
interruptend |
Отправляется, когда ранее прерванное воспроизведение на Firefox OS устройстве продолжает воспроизведение. См. Using the AudioChannels API |
{{event("loadeddata")}} |
Завершена загрузка первого кадра (frame) медиа. |
{{event("loadedmetadata")}} |
Метаданные медиа были загружены; все атрибуты теперь содержат максимум информации. |
{{event("loadstart")}} |
Отправляется, когда начинается загрузка медиа. |
mozaudioavailable |
Sent when an audio buffer is provided to the audio layer for processing; the buffer contains raw audio samples that may or may not already have been played by the time you receive the event. |
{{event("pause")}} |
Отправляется, когда воспроизведение приостановлено. |
{{event("play")}} |
Отправляется, когда воспроизведение медиа начинается после того, как было приостановлено; то есть, когда воспроизведение возобновляется после паузы. |
{{event("playing")}} |
Отправляется, когда начинается воспроизведение медиа (в первый раз, после паузы или после перезапуска). |
{{event("progress")}} |
Отправляется периодически для информирования о прогрессе скачивания медиа файла. Информация об объеме загруженных данных доступна в атрибуте "buffered" элемента медиа. |
{{event("ratechange")}} |
Отправляется, когда изменяется скорость воспроизведения. |
{{event("seeked")}} |
Отправляется, когда операция поиска завершена. |
{{event("seeking")}} |
Отправляется, когда начинается операция поиска. |
{{event("stalled")}} |
Sent when the user agent is trying to fetch media data, but data is unexpectedly not forthcoming. |
{{event("suspend")}} |
Отправляется, когда загрузка медиа приостановлена. Это может произойти как потому, что загрузка была завершена, так и по другим причинам. |
{{event("timeupdate")}} |
Отправляется, когда изменяется значение атрибута currentTime. |
{{event("volumechange")}} |
Отправляется, когда изменяется громкость звука (также когда звук включен или выключен). |
{{event("waiting")}} |
Отправляется, когда операция (напр. воспроизведение) была отложена до завершение другой операции (напр. поиск). |
Вы можете легко следить за этими событиями, используя следующий код:
var v = document.getElementsByTagName("video")[0]; v.addEventListener("seeked", function() { document.getElementsByTagName("video")[0].play(); }, true); v.currentTime = 10.0;
В этом примере первый элемент получает видео и вешает на него событие "seeked". Обработчик вызывает метод элемента play(), который начинает воспроизведение.
Затем, в строке 3 примера, устанавливается атрибут currentTime элемента в значение 10.0, что инициирует переход к десятой секунде видео. Это приводит к отправлению события "seeking" после начала операции, и события "seeked" после её завершения.
Другими словами, этот пример пытается перейти к 10-секундной видео, после чего начинает воспроизведение.
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{ CompatUnknown() }} | {{ CompatGeckoDesktop("1.9.1") }} (Prior to Gecko 2.0, media events bubbled.) | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
encrypted |
{{CompatChrome(42.0)}} |
{{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
load | {{ CompatUnknown() }} | Removed in {{ CompatGeckoDesktop("1.9.2") }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
mozaudioavailable {{ non-standard_inline() }} | {{ CompatNo() }} | {{ CompatGeckoDesktop("2.0") }} | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatNo() }} |
suspend | {{ CompatUnknown() }} | {{ CompatGeckoDesktop("1.9.2") }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
encrypted | {{ CompatNo }} | {{CompatChrome(43.0)}} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
{{CompatChrome(42.0)}} |
load | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
mozaudioavailable {{ non-standard_inline() }} | {{ CompatNo() }} | {{ CompatUnknown() }} | {{ CompatGeckoMobile("2.0") }} | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatNo() }} | {{ CompatUnknown() }} |
suspend | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |