Чтение онлайн

на главную - закладки

Жанры

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

img.onmouseover = function {

this.src = this.getAttribute("data-rollover");

};

img.onmouseout = function {

this.src = this.getAttribute("data-rollout");

};

}

});

21.2. Работа с аудио- и видеопотоками

Стандарт HTML5 определяет новые элементы

<audio>
и
<video>,
которые теоретически так же просты в использовании, как элемент
<img>
. В броузерах с поддержкой стандарта HTML5 больше не нужно использовать дополнительные расширения (такие как Flash), чтобы внедрить в свои HTML-документы аудио- и видеоклипы:

<audio src="background_music.mp3"/>

<video src="news.mov" width=320 height=240/>

Однако на практике работать с этими элементами несколько сложнее, чем было показано выше. Производители броузеров не смогли прийти к соглашению о стандарте на аудио- и видеокодеки, которые поддерживались бы всеми броузерами, вследствие чего обычно приходится использовать элементы

<source>,
чтобы указать несколько источников мультимедийных данных в различных форматах:

<audio id="music">

<source src="music.mp3" type="audio/mpeg">

<source src="music.ogg" type='audio/ogg; codec="vorbis">

</audio>

Обратите внимание, что элементы

<source>
не имеют содержимого: они не имеют закрывающего тега </source>, и от вас не требуется завершать их последовательностью символов
/>
.

Броузеры, поддерживающие элементы

<audio>
и
<video>,
не будут отображать их содержимое. Тогда как броузеры, не поддерживающие их, отобразят это содержимое. Чтобы решить эту проблему, можно вставить внутрь содержимое для обратной совместимости (например, элемент
<object>,
который вызывает расширение Flash):

<video id="news" width=640 height=480 controls preload>

<!-- В формате WebM для Firefox и Chrome -->

<source src="news.webm" type='video/webm; codecs="vp8, vorbis'">

<!-- В формате H.264 для IE и Safari -->

<source src="news.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2'">

<!-- Для совместимости с расширением Flash -->

<object width=640 height=480 type="application/x-shockwave-flash"

data="flash_movie_player.swf">

<!-- Здесь можно указать параметры настройки проигрывателя Flash -->

<!-- Текстовое содержимое, используемое в самом худшем случае -->

<div>Элємeнт video не поддерживается и расширение Flash не установлено.</div>

</object>

</video>

Элементы

<audio>
и
<video>
поддерживают атрибут
controls
. Если он присутствует (или соответствующее JavaScript-свойство имеет значение true), они будут отображать элементы управления, включая кнопки запуска на воспроизведение и паузы, регулятор громкости и т. д. Но кроме этого, элементы
<audio>
и
<video>
предоставляют прикладной интерфейс, обеспечивающий широкие возможности управления воспроизведением, с помощью которого вы можете добавлять простые звуковые эффекты в свои веб-приложения или создавать собственные панели управления воспроизведением. Несмотря на различия во внешнем виде, элементы
<audio>
и
<video>
предоставляют практически один и тот же прикладной интерфейс (единственное отличие между которыми состоит в том, что элемент
<video>
имеет свойства
width
и
height
), поэтому большая часть того, что рассказывается далее в этом разделе, в равной степени относится к обоим элементам.

Несмотря на раздражающую необходимость определять мультимедийные данные в нескольких форматах, возможность воспроизводить звук и видеоизображение родными средствами броузера без использования дополнительных расширений является новой мощной особенностью, добавленной стандартом HTML5. Обратите внимание, что обсуждение проблемы поддержки кодеков и совместимости броузеров выходит далеко за рамки этой книги. В следующих подразделах мы сосредоточимся исключительно на методах JavaScript, предназначенных для работы с аудио- и видеопотоками.

Конструктор Audio

Элементы

<audio>
не имеют визуального представления в документе, если не установить атрибут
controls
. И так же, как имеется возможность создавать неотображаемые изображения с помощью конструктора
Image,
механизм поддержки мультимедиа, определяемый стандартом HTML5, позволяет создавать аудиоэлементы с помощью конструктора
Audio,
передавая ему аргумент с URL-адресом источника данных:

Поделиться:
Популярные книги

Старый, но крепкий 3

Крынов Макс
3. Культивация без насилия
Фантастика:
рпг
уся
фэнтези
5.00
рейтинг книги
Старый, но крепкий 3

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Князь Целитель 5

Ткачев Андрей Юрьевич
5. Князь Целитель
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Князь Целитель 5

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Товарищ "Чума"

lanpirot
1. Товарищ "Чума"
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Товарищ Чума

Кодекс Охотника. Книга XXXII

Винокуров Юрий
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXII

Евреи России. Времена и события. История евреев Российской империи

Кандель Феликс Соломонович
Научно-образовательная:
история
5.00
рейтинг книги
Евреи России. Времена и события. История евреев Российской империи

Герой

Бубела Олег Николаевич
4. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Герой

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого

Эммануэль

Арсан Эммануэль
1. Эммануэль
Любовные романы:
эро литература
7.38
рейтинг книги
Эммануэль

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Последний Паладин. Том 5

Саваровский Роман
5. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 5

Телохранитель Генсека. Том 4

Алмазный Петр
4. Медведев
Фантастика:
попаданцы
альтернативная история
6.00
рейтинг книги
Телохранитель Генсека. Том 4

Снайпер

Поселягин Владимир Геннадьевич
3. Жнец
Фантастика:
боевая фантастика
попаданцы
5.60
рейтинг книги
Снайпер