HTMLMediaElement
================

Интерфейс HTMLMediaElement добавляет к `HTMLElement` свойства и методы, необходимые для поддержки базовых мультимедийных возможностей, общих для аудио и видео. Элементы `HTMLVideoElement` и `HTMLAudioElement` наследуют этот интерфейс.

Свойства
--------

*Этот интерфейс также наследует свойства от своих предков `HTMLElement`, `Element`, `Node` и `EventTarget`.*

`HTMLMediaElement.audioTracks` (en-US)

`AudioTrackList` (en-US), в котором перечислены объекты `AudioTrack` (en-US), содержащиеся в элементе.

`HTMLMediaElement.autoplay` (en-US)

`Boolean`, который отражает атрибут HTML `autoplay`, указывающий, должно ли воспроизведение начинаться автоматически, как только будет доступно достаточно медиафайлов, чтобы сделать это без прерывания.

**Примечание:** Примечание. Сайты, которые автоматически воспроизводят аудио (или видео с аудиодорожкой), могут быть неприятными для пользователей, поэтому их следует по возможности избегать. Если вы должны предлагать функцию автозапуска, вы должны включить её (требуется, чтобы пользователь специально включил её). Однако это может быть полезно при создании элементов мультимедиа, источник которых будет установлен позднее под контролем пользователя.

`HTMLMediaElement.buffered` (en-US) Только для чтения 

Возвращает объект `TimeRanges` (en-US), который указывает диапазоны медиаисточника, который браузер буферизировал (если есть) в момент обращения к свойству `buffered`.

`HTMLMediaElement.controller` (en-US)

Объект `MediaController`, представляющий медиа-контроллер, назначенный элементу, либо `null`, если ни один не назначен.

`HTMLMediaElement.controls` (en-US)

Является `Boolean`, который отражает атрибут HTML `controls`, указывающий, должны ли отображаться элементы пользовательского интерфейса для управления ресурсом.

`HTMLMediaElement.controlsList` (en-US) Только для чтения 

Возвращает `DOMTokenList`, который помогает агенту пользователя выбирать элементы управления для отображения на элементе мультимедиа всякий раз, когда агент пользователя показывает свой собственный набор элементов управления. DOMTokenList принимает одно или несколько из трёх возможных значений: nodownload, nofullscreen и noremoteplayback.

`HTMLMediaElement.crossOrigin` (en-US)

`DOMString`, указывающий настройку CORS для этого медиаэлемента.

`HTMLMediaElement.currentSrc` (en-US) Только для чтения 

Возвращает `DOMString` с абсолютным URL-адресом выбранного медиа-ресурса.

`HTMLMediaElement.currentTime` (en-US)

Двойное значение, обозначающее текущее время воспроизведения в секундах. Установка этого значения ищет носитель в новое время.

`HTMLMediaElement.defaultMuted` (en-US)

Является `Boolean`, который отражает атрибут HTML `muted`, который указывает, должен ли звук вывода медиа-элемента по умолчанию отключаться.

`HTMLMediaElement.defaultPlaybackRate` (en-US)

Двойное значение, обозначающее скорость воспроизведения по умолчанию для мультимедиа.

`HTMLMediaElement.disableRemotePlayback` (en-US)

`Boolean`, который устанавливает или возвращает состояние удалённого воспроизведения, указывая, разрешено ли медиаэлементу иметь удалённый пользовательский интерфейс воспроизведения.

`HTMLMediaElement.duration` Только для чтения 

Возвращает значение типа double, указывающее длину носителя в секундах, или 0, если данные носителя отсутствуют.

`HTMLMediaElement.ended` (en-US) Только для чтения 

Возвращает `Boolean`, который указывает, закончил ли воспроизведение медиа-элемент.

`HTMLMediaElement.error` (en-US) Только для чтения 

Возвращает объект `MediaError` для самой последней ошибки или `null`, если ошибки не было.

`HTMLMediaElement.loop` (en-US)

Является `Boolean`, который отражает атрибут HTML `loop`, который указывает, должен ли медиа-элемент начинаться сначала, когда он достигает конца.

`HTMLMediaElement.mediaGroup` (en-US)

Это `DOMString`, который отражает атрибут HTML `mediagroup`, который указывает имя группы элементов, к которой он принадлежит. Группа медиа-элементов имеет общий `MediaController`.

`HTMLMediaElement.mediaKeys` (en-US) Только для чтения  
Экспериментальная возможность

Возвращает объект `MediaKeys` (en-US) или ноль. MediaKeys - это набор ключей, которые связанный HTMLMediaElement может использовать для дешифрования мультимедийных данных во время воспроизведения.

`HTMLMediaElement.mozAudioCaptured` Только для чтения  
Non-standard

Возвращает `Boolean`. Связанный с захватом аудиопотока.

`HTMLMediaElement.mozFragmentEnd` 
Non-standard

Двойник, обеспечивающий доступ к времени окончания фрагмента, если медиа-элемент имеет URI-фрагмент для currentSrc, в противном случае он равен продолжительности медиа.

`HTMLMediaElement.mozFrameBufferLength` 
Non-standard

Устарело

Это unsigned long, который указывает число выборок, которые будут возвращены в кадровом буфере каждого события MozAudioAvailable. Это число является общим для всех каналов, и по умолчанию установлено количество каналов \* 1024 (например, 2 канала \* 1024 выборок = всего 2048).

Для свойства mozFrameBufferLength может быть установлено новое значение для более низкой задержки, больших объёмов данных и т. Д. Указанный размер должен быть числом от 512 до 16384. Использование любого другого размера приводит к возникновению исключения. Лучшее время для установки новой длины - после того, как сработало событие загруженных метаданных, когда известна аудиоинформация, но до того, как аудио началось, или события MozAudioAvailable начали срабатывать.

`HTMLMediaElement.mozSampleRate` Только для чтения  
Non-standard

Устарело

Возвращает двойное число, представляющее количество семплов в секунду, которые будут воспроизведены. Например, 44100 выборок в секунду - это частота дискретизации, используемая аудио CD.

`HTMLMediaElement.muted` (en-US)

`Boolean`, определяющий, отключён ли звук. true, если звук отключён, и false в противном случае.

`HTMLMediaElement.networkState` (en-US) Только для чтения 

Возвращает unsigned short (перечисление), указывающее текущее состояние выборки мультимедиа по сети.

`HTMLMediaElement.paused` (en-US) Только для чтения 

Возвращает `Boolean`, который указывает, приостановлен ли медиа-элемент.

`HTMLMediaElement.playbackRate` (en-US)

Двойное число, указывающее скорость воспроизведения мультимедиа.

`HTMLMediaElement.played` Только для чтения 

Возвращает объект `TimeRanges` (en-US), который содержит диапазоны медиаисточников, которые воспроизводил браузер, если таковые имеются.

`HTMLMediaElement.preload`

Это `DOMString`, который отражает атрибут HTML `preload`, указывающий, какие данные должны быть предварительно загружены, если таковые имеются. Возможные значения: `none`, `metadata`, `auto`.

`HTMLMediaElement.preservesPitch` (en-US) 
Non-standard

Является `Boolean`, который определяет, будет ли сохранена высота звука. Если установлено значение false, высота звука будет регулироваться в зависимости от скорости звука. Это реализовано с помощью префиксов в Firefox (mozPreservedPitch) и WebKit (webkitPreservedPitch).

`HTMLMediaElement.readyState` (en-US) Только для чтения 

Возвращает `unsigned short` (перечисление), указывающее состояние готовности носителя.

`HTMLMediaElement.seekable` (en-US) Только для чтения 

Возвращает объект `TimeRanges` (en-US), который содержит временные диапазоны, к которым пользователь может обращаться, если таковые имеются.

`HTMLMediaElement.seeking` Только для чтения 

Возвращает `Boolean`, который указывает, находится ли медиа в процессе поиска новой позиции.

`HTMLMediaElement.sinkId` (en-US) Только для чтения  
Экспериментальная возможность

Возвращает `DOMString`, который является уникальным идентификатором аудиоустройства, предоставляющего выходные данные, или пустую строку, если используется пользовательский агент по умолчанию. Этот идентификатор должен быть одним из значений MediaDeviceInfo.deviceid, возвращаемых из `MediaDevices.enumerateDevices ()`, id-multimedia или id-communications.

`HTMLMediaElement.src` (en-US)

Это `DOMString`, который отражает атрибут HTML `src`, который содержит URL-адрес используемого медиа-ресурса.

`HTMLMediaElement.srcObject` (en-US)

`MediaStream`, представляющий медиафайл для воспроизведения или воспроизведённый в текущем HTMLMediaElement, или null, если не назначен.

`HTMLMediaElement.textTracks` (en-US) Только для чтения 

Возвращает список объектов `TextTrack` (en-US), содержащихся в элементе.

`HTMLMediaElement.videoTracks` (en-US) Только для чтения 

Возвращает список объектов `VideoTrack` (en-US), содержащихся в элементе.

**Примечание:** Gecko поддерживает воспроизведение только одной дорожки, а разбор метаданных дорожек доступен только для носителей с форматом контейнера Ogg.

`HTMLMediaElement.volume` (en-US)

Двойной показатель громкости звука, от 0,0 (тихий) до 1,0 (самый громкий).

### Обработчики событий

`HTMLMediaElement.onencrypted` (en-US)

Устанавливает `Event Handler`, вызываемый, когда носитель зашифрован.

`HTMLMediaElement.onwaitingforkey` (en-US)

Устанавливает `EventHandler` (en-US), вызываемый, когда воспроизведение заблокировано во время ожидания ключа шифрования.

Устаревшие атрибуты
-------------------

Эти атрибуты устарели и не должны использоваться, даже если браузер все ещё поддерживает их.

`HTMLMediaElement.initialTime` Только для чтения  
Non-standard

Возвращает значение типа double, указывающее начальную позицию воспроизведения в секундах.

`HTMLMediaElement.mozChannels` Только для чтения  
Non-standard

Устарело

Возвращает значение типа double, представляющее количество каналов в аудиоресурсе (например, 2 для стерео).

### Устаревшие обработчики событий

`HTMLMediaElement.onmozinterruptbegin` 
Non-standard

Устанавливает `EventHandler` (en-US), вызываемый, когда медиа-элемент прерывается из-за менеджера аудио-каналов. Это было специфично для Firefox, оно было реализовано для Firefox OS и было удалено в Firefox 55.

`HTMLMediaElement.onmozinterruptend` 
Non-standard

Устанавливает `Event Handler`, вызываемый при завершении прерывания. Это было специфично для Firefox, оно было реализовано для Firefox OS и было удалено в Firefox 55.

Методы
------

*Этот интерфейс также наследует методы от своих предков `HTMLElement`, `Element`, `Node` и `EventTarget`.*

`HTMLMediaElement.addTextTrack()`

Добавляет текстовую дорожку (например, дорожку для субтитров) к элементу мультимедиа.

`HTMLMediaElement.captureStream()` (en-US) 
Экспериментальная возможность

Возвращает `MediaStream`, захватывает поток медиа-контента.

`HTMLMediaElement.canPlayType()` (en-US)

Определяет, может ли указанный тип носителя воспроизводиться.

`HTMLMediaElement.fastSeek()` (en-US)

Прямо стремится к данному времени.

`HTMLMediaElement.load()` (en-US)

Сбрасывает носитель в начало и выбирает наилучший из доступных источников из источников, предоставленных с использованием атрибута `src` или элемента `<source>`.

`HTMLMediaElement.mozCaptureStream()` 
Non-standard

[введите описание]

`HTMLMediaElement.mozCaptureStreamUntilEnded()` 
Non-standard

[введите описание]

`HTMLMediaElement.mozGetMetadata()` 
Non-standard

Возвращает `Object`, который содержит свойства, которые представляют метаданные из воспроизводимого медиаресурса в виде пар {key: value}. Отдельная копия данных возвращается каждый раз, когда вызывается метод. Этот метод должен вызываться после возникновения события загруженных метаданных.

`HTMLMediaElement.pause()` (en-US)

Пауза воспроизведения мультимедиа.

`HTMLMediaElement.play()` (en-US)

Начинается воспроизведение мультимедиа.

`HTMLMediaElement.seekToNextFrame()` (en-US) 
Non-standard

Экспериментальная возможность

Стремится к следующему кадру в медиа. Этот нестандартный экспериментальный метод позволяет вручную управлять считыванием и воспроизведением мультимедиа с настраиваемой скоростью или перемещаться по мультимедиа покадрово для выполнения фильтрации или других операций.

`HTMLMediaElement.setMediaKeys()` (en-US) 
Экспериментальная возможность

Возвращает `Промис`. Устанавливает клавиши `MediaKeys` (en-US), используемые при дешифровании медиафайлов во время воспроизведения.

`HTMLMediaElement.setSinkId()` (en-US) 
Экспериментальная возможность

Устанавливает идентификатор аудиоустройства, которое будет использоваться для вывода, и возвращает `Promise`. Это работает только тогда, когда приложение имеет право использовать указанное устройство.

Устаревшие методы
-----------------

Эти методы устарели и не должны использоваться, даже если браузер все ещё поддерживает их.

`HTMLMediaElement.mozLoadFrom()` 
Non-standard

Устарело

Этот метод, доступный только в реализации Mozilla, загружает данные из другого медиа-элемента. Это работает аналогично load () за исключением того, что вместо обычного алгоритма выбора ресурса для источника просто устанавливается значение currentSrc другого элемента. Это оптимизировано, так что этот элемент получает доступ ко всем кешированным и буферизованным данным другого элемента; фактически эти два элемента совместно используют загруженные данные, поэтому данные, загруженные любым из этих элементов, доступны обоим.

События
-------

*Наследует методы от своего родителя `HTMLElement`, определённого в миксине `GlobalEventHandlers`. Обработайте эти события, используя addEventListener () или назначив обработчик событий свойству oneventname этого интерфейса.*

`abort`

Срабатывает, когда ресурс загружен не полностью, но не в результате ошибки.

`canplay` (en-US)

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

`canplaythrough` (en-US)

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

`durationchange` (en-US)

Запускается, когда атрибут продолжительности был обновлён.

`emptied` (en-US)

Запускается, когда носитель становится пустым; например, когда носитель уже загружен (или частично загружен), и для его перезагрузки вызывается метод `HTMLMediaElement.load ()`.

`ended` (en-US)

Срабатывает, когда воспроизведение останавливается, когда достигнут конец носителя (<audio> или <video>) или если дальнейшие данные недоступны.

`error` (en-US)

Срабатывает, когда ресурс не может быть загружен из-за ошибки.

`loadeddata` (en-US)

Запускается, когда первый кадр носителя завершил загрузку.

`loadedmetadata` (en-US)

Запускается, когда метаданные были загружены

`loadstart` (en-US)

Запускается, когда браузер начал загружать ресурс.

`pause` (en-US)

Вызывается, когда обрабатывается запрос на приостановку воспроизведения, и действие переходит в состояние паузы, чаще всего это происходит, когда вызывается медиа `HTMLMediaElement.pause ()`.

`play` (en-US)

Срабатывает, когда свойство paused изменяется с true на false, в результате использования метода `HTMLMediaElement.play ()` или атрибута autoplay

`playing` (en-US)

Запускается, когда воспроизведение готово начать после приостановки или задержки из-за отсутствия данных.

`progress` (en-US)

Периодически запускается, когда браузер загружает ресурс.

`ratechange` (en-US)

Запускается, когда скорость воспроизведения изменилась.

`seeked`  (en-US)

Запускается, когда скорость воспроизведения изменилась.

`seeking`

Запускается, когда начинается операция поиска

`stalled` (en-US)

Запускается, когда пользовательский агент пытается извлечь данные мультимедиа, но данные неожиданно не поступают.

`suspend` (en-US)

Запускается, когда загрузка медиа-данных была приостановлена.

`timeupdate` (en-US)

Запускается, когда время, указанное атрибутом currentTime, было обновлено.

`volumechange` (en-US)

Запускается при изменении громкости.

`waiting` (en-US)

Срабатывает, когда воспроизведение остановлено из-за временной нехватки данных

Спецификации
------------

| Specification |
| --- |
| HTML Standard # htmlmediaelement |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* Рекомендации
    + `<video>` и `<audio>` HTML-элементы.
    + `HTMLVideoElement` и `HTMLAudioElement` интерфейсы, полученные из HTMLMediaElement.
* Статьи
    + Использование HTML5 аудио и видео (en-US)
    + Медиа форматы, поддерживаемые аудио и видео элементами (en-US)
    + API веб-аудио (en-US)