Книга: JavaScript. Подробное руководство, 6-е издание

MediaElement

MediaElement

элемент проигрывателя Node, Element

MediaElement является общим суперклассом для элементов <audio> и <video>. Эти два элемента определяют практически идентичные прикладные интерфейсы, описываемые здесь, тем не менее просмотрите справочные статьи Audio и Video, где приводится описание дополнительных особенностей аудио- и видеопроигрывателей. А также обратитесь к разделу 21.2, где дается введение в эти мультимедийные элементы.

Константы

Константы NETWORK определяют возможные значения свойства networkState, а константы HAVE - возможные значения свойства readyState.

unsigned short NETWORK_EMPTY = 0

Элемент еще не приступил к использованию сети. Это состояние предшествует установке атрибута src.

unsigned short NETWORK_IDLE = 1

В настоящий момент элемент не производит загрузку данных из сети. Возможно, он уже загрузил ресурс полностью или загрузил необходимый объем данных в буфер. Или, возможно, свойство preload установлено в значение «none», и пока не была запрошена загрузка или проигрывание данных.

unsigned short NETWORK.LOADING = 2

В настоящее время элемент загружает данные из сети.

unsigned short NETW0RK_N0_S0URCE = З

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

unsigned short HAVE.NOTHING = 0

Мультимедийные данные или метаданные еще не были загружены.

unsigned short HAVE.HETADATA = 1

Метаданные были загружены, но данные для текущей позиции проигрывания еще не были загружены. Это означает, что можно узнать продолжительность или размеры кадра видеозаписи, а также перейти к другой позиции проигрывания, изменив значение свойства currentTime, но броузер в настоящее время не проигрывает данные в позиции currentTime.

unsigned short HAVE_CURRENT_DATA = 2

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

unsigned short HAVE_FUTURE_DATA = З

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

unsigned short HAVE_ENOUGH_DATA = 4

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

Свойства

boolean autoplay

Если имеет значение true, проигрыватель автоматически начнет проигрывание, когда будет загружен достаточный объем данных. Соответствует HTML-атрибуту autoplay.

readonly TimeRanges buffered

Фрагменты уже загруженных в буфер данных.

boolean controls

Если имеет значение true, проигрыватель должен отобразить элементы управления проигрыванием. Соответствует HTML-атрибуту controls.

readonly string currentSrc

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

double currentTime

Текущая позиция проигрывателя в секундах. Установка этого свойства позволяет перейти к другой позиции проигрывателя.

double defaultPlaybackRate

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

readonly double duration

Продолжительность записи в секундах. Если продолжительность неизвестна (например, когда метаданные еще не были загружены), это свойство имеет значение NaN. Если проигрываются потоковые данные с неопределенной продолжительностью, это свойство имеет значение Infinity.

readonly boolean ended

Имеет значение true, если достигнут конец записи.

readonly MediaError error

Это свойство устанавливается, когда возникает ошибка, в противном случае имеет значение null. Ссылается на объект, свойство code которого описывает тип ошибки.

readonly double initialTime

Начальная позиция проигрывания в секундах. Обычно имеет значение 0, но в некоторых случаях (например, когда проигрываются потоковые данные) может иметь различные значения.

boolean loop

Если имеет значение true, проигрыватель должен автоматически перезапускать воспроизведение записи по достижении конца. Это свойство соответствует HTML-атрибуту loop.

boolean muted

Определяет, должна ли воспроизводиться запись без звука. Это свойство можно использовать, чтобы отключать и включать звук. Для элементов <video> можно использовать атрибут audio="muted", чтобы отключить звук по умолчанию.

readonly unsigned short networkState

Определяет, загружаются данные в настоящий момент или нет. Допустимые значения перечислены в разделе «Константы» выше.

readonly boolean paused

Имеет значение true, если в настоящий момент проигрывание приостановлено.

double playbackRate

Текущая скорость проигрывания. 1.0 - нормальная скорость проигрывания. Значения больше 1.0 соответствуют ускоренной скорости проигрывания вперед. Значения от 0 до 1.0 соответствуют замедленной скорости проигрывания вперед. Значения меньше 0 соответствуют проигрыванию в обратном направлении. (Звук всегда отключается при проигрывании в обратном направлении, а также при слишком быстром или слишком медленном проигрывании вперед.)

readonly TimeRanges played

Фрагменты, которые уже были проиграны.

string preload

Это свойство соответствует HTML-атрибуту с тем же именем, и его можно использовать, чтобы указать, какой объем данных должен загрузить броузер, прежде чем пользователь сможет запустить проигрывание. Значение «попе» означает, что предварительная загрузка данных не должна выполняться. Значение «metadata» означает, что броузер должен предварительно загрузить метаданные (такие как продолжительность), но не фактические данные. Значение «auto» (или просто пустая строка, если атрибут preload указан без значения) означает, что броузер может загрузить весь ресурс целиком на тот случай, если пользователь решит проиграть его.

readonly unsigned short readyState

Определяет готовность данных к проигрыванию, исходя из объема данных, загруженных в буфер. Допустимые значения определяются константами HAVE_, описанными выше.

readonly TimeRanges seekable

Фрагмент или фрагменты, значения времени для которых могут быть присвоены свойству currentTime. При проигрывании простых файлов обычно можно установить любое значение от 0 до значения свойства duration. Но для потоковых данных позиция в прошлом может отсутствовать в буфере, а позиция в будущем может быть еще недоступна.

readonly boolean seeking

Имеет значение true, пока элемент проигрывателя выполняет переход к новой позиции проигрывания currentTime. Если данные для новой позиции проигрывания уже загружены в буфер, это свойство будет иметь значение true очень короткий промежуток времени. Но если для перехода проигрывателю необходимо загрузить новые данные, свойство seeking будет оставаться в значении true довольно продолжительное время.

string src

Соответствует HTML-атрибуту src элемента проигрывателя. Присваивание нового значения этому свойству заставит проигрыватель загрузить новые данные для проигрывания. Не путайте это свойство со свойством currentSrc.

readonly Date startOffsetTime

Действительные дата и время позиции проигрывания 0, если метаданные содержат такую информацию. (Видеофайл может содержать время съемки, например.)

double volume

Определяет уровень громкости воспроизводимой аудиозаписи. Значение должно быть в диапазоне от 0 до 1. См. также описание свойства muted.

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

Теги <audio> и <video> определяют следующие обработчики событий, которые можно устанавливать как HTML-атрибуты или как JavaScript-свойства. На момент написания этих строк некоторые броузеры не поддерживали эти свойства и требовали, чтобы обработчики событий регистрировались с помощью метода addEventListener() (EventTarget). События элементов проигрывателей не всплывают, и для них не предусмотрено действий по умолчанию, которые можно было бы отменить. Связанные с ними объекты событий являются обычными объектами Event.





Методы

string canPlayType(string type)

Этот метод запрашивает у элемента проигрывателя, способен ли он проигрывать данные MIME-типа type. Если проигрыватель точно определит, что не может проигрывать данные указанного типа, он вернет пустую строку. Если проигрыватель полагает (но не уверен), что может проигрывать данные указанного типа, он вернет строку «probably» («возможно»). В общем случае элементы проигрывателя никогда не вернут строку «probably», если type не включает параметр codecs= со списком мультимедийных кодеков. Если проигрыватель не уверен, что может проигрывать данные указанного типа, этот метод вернет строку «maybe».

void load()

Этот метод сбрасывает элемент проигрывателя в исходное состояние и заставляет его выбрать источник данных и начать загрузку. Это происходит автоматически, когда элемент впервые вставляется в документ, и всякий раз, когда изменяется значение атрибута src. Однако при добавлении, удалении или изменении вложенных элементов <source> метод load() необходимо вызывать явно.

void pause()

Приостанавливает проигрывание.

void play()

Начинает проигрывание записи.

Оглавление книги


Генерация: 1.284. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз