1. Видео и аудио
До HTML5 разметка видео и аудио была сложной задачей. В современном стандарте добавили новые теги для разметки медиаконтента с поддержкой различных форматов, встроенными элементами управления и т. д.
1.1. Видео
Для разметки видеоконтента используется парный тег <video>.
<video
src="http://techslides.com/demos/sample-videos/small.webm"
poster="https://images.pexels.com/photos/595804/pexels-photo-595804.jpeg?w=640"
width="640"
controls
autoplay
loop
preload="auto"
></video>
Разберём атрибуты.
src- указывает адрес видеофайлаposter- адрес изображения, которое используется как постер если видео не загружено или еще не проигрываетсяwidthиheight- задают высоту и ширину, как у изображенияcontrols- атрибут-флаг, если присутствует, добавляются элементы управления видеоautoplay- атрибут-флаг, если присутствует, проигрывание видео начинается как только оно доступноloop- атрибут-флаг, если присуствует, видео будет повторяться в цикле
Атрибут preload указывает режим предварительной загрузки видео. Его значение
влияет на то, какая иформация будет загружена. Значение по умолчанию зависит от
браузера в котором была открыта веб-страница.
none- не загружать видео заранееmetadata- загрузить служебную информацию (длительность и т. п.)auto- заранее загружать всё видео
1.1.1. Форматы видео
Загружать лишь один формат видеофайла недостаточно, некоторые браузеры могут его
не поддерживать, и пользователь не сможет посмотреть видео. Есть несколько
популярных видеоформатов которые необходимо предоставить браузеру на выбор:
webm, mp4 и ogg.
Для этого убираем атрибут src у тега <video> и добавляем новый тег
<source> для каждого формата. В атрибуте src указываем адрес видеофайла, а в
атрибуте type видеоформат. Браузер выберет из списка первый который
поддерживает и загрузит его, проигнорировав остальные.
<video
poster="https://images.pexels.com/photos/595804/pexels-photo-595804.jpeg?w=640"
width="640"
controls
>
<source
src="http://techslides.com/demos/sample-videos/small.webm"
type="video/webm"
/>
<source
src="http://techslides.com/demos/sample-videos/small.mp4"
type="video/mp4"
/>
<source
src="http://techslides.com/demos/sample-videos/small.ogv"
type="video/ogg"
/>
</video>
Конвертация видео и аудио в необходимые форматы это задача создателя контента, контент-менеджера или, в крайнем случае, разработчика.
1.2. Аудио
Для разметки аудиоконтента используется парный тег <audio>. Его использование
очень похоже на <video>, но можно задать меньше атрибутов.
<audio src="song.mp3" controls autoplay loop preload="auto"></audio>
Разберём атрибуты.
src- указывает адрес аудиофайлаcontrols- атрибут-флаг, если присутствует, добавляются элементы управления аудиоautoplay- атрибут-флаг, если присутствует, проигрывание аудио начинается как только оно доступноloop- атрибут-флаг, если присуствует, аудио будет повторяться в цикле
Атрибут preload указывает режим предварительной загрузки аудиофайла. Его
значение влияет на то, какая иформация будет загружена. Значение по умолчанию
зависит от браузера в котором была открыта веб-страница.
none- не загружать аудио заранееmetadata- загрузить служебную информацию (длительность и т. п.)auto- заранее загружать весь аудиофайл
1.2.1. Форматы аудио
С поддержкой форматов в браузере у аудио ситуация лучше. Все современные
браузеры гарантированно поддерживают один из двух форматов: mp3 или ogg.
Как и в случае с видео, убираем атрибут src и используем тег <source> с
атрибутами src и type.
<audio controls>
<source src="song.mp3" type="audio/mpeg" />
<source src="song.ogg" type="audio/ogg" />
</audio>
1.3. Поддержка старых браузеров
Если браузер не поддерживает HTML5 медиаконтент, нужно сказать об этом
пользователю. Для этого, внутри тегов <video> или <audio>, после всех тегов
<source> добавим строку текста, которую браузер отобразит если не поддерживает
видео или аудио.
<video
poster="https://images.pexels.com/photos/595804/pexels-photo-595804.jpeg?w=640"
width="640"
controls
>
<source
src="http://techslides.com/demos/sample-videos/small.webm"
type="video/webm"
/>
<source
src="http://techslides.com/demos/sample-videos/small.mp4"
type="video/mp4"
/>
<source
src="http://techslides.com/demos/sample-videos/small.ogv"
type="video/ogg"
/>
Your browser does not support the <code>video</code> element.
</video>
<audio controls>
<source src="song.mp3" type="audio/mpeg" />
<source src="song.ogg" type="audio/ogg" />
Your browser does not support the <code>audio</code> element.
</audio>