Книга: HTML5 для веб-дизайнеров
Audio
Первым сайтом, который я сделал в жизни, был маленький сайт-визитка моей группы. Я хотел, чтобы посетители сайта могли слушать песни, которые исполняет моя группа. Так начался мой спуск в подземное царство огромного количества форматов и музыкальных проигрывателей. Многие из них боролись за мое внимание: QuickTime, Windows Media Player, Real Audio, – и я потратил слишком много времени, переживая из-за доли каждого на рынке и кросс-платформенной совместимости.
В последующие годы битву за повсеместное распространение выиграл формат MP3. Но для того чтобы простым способом дать послушать звуковой файл посетителю сайта, все еще нужна проприетарная технология. Эту битву выиграл проигрыватель Flash.
Теперь на ринг, чтобы сразиться с действующим чемпионом, входит HTML5.
Встроить аудиофайл в HTML5-документ очень просто:
<audio src="witchitalineman.mp3">
</audio>
Наверное, это даже слишком просто. Наверняка вы хотите несколько более конкретно указать, что должен делать элемент audio
.
Предположим, что живет на свете злой урод, который ненавидит веб и всех пользователей Интернета. Этому господину наверняка плевать, что встраивать на страницу аудиофайл, который начинает проигрываться автоматически, невероятно грубо и глупо. С помощью атрибута autoplay
можно удовлетворить его глубоко порочные желания.
<audio src="witchitalineman.mp3" autoplay>
</audio>
Если вы когда-нибудь будете так использовать атрибут autoplay
, знайте: я вас найду.
Обратите внимание, что у атрибута autoplay
нет значения. Такие атрибуты называются булевыми, в честь Джорджа Буля, великого математика из Корка[8].
Компьютерная логика целиком основана на булевой логике: электрический ток либо течет, либо нет; двоичное значение – либо единица, либо ноль; результат расчета – либо истина (true), либо ложь (false).
Не перепутайте булевы атрибуты и булевы значения. Вас можно понять, если вы подумаете, что булев атрибут будет принимать значения true и false. В действительности булево по природе само существование элемента: присутствует он или нет. Даже если напишете атрибуту значение, никакого эффекта это иметь не будет. Написать autoplay="false"
или autoplay="no thanks"
– то же самое, что написать autoplay
.
Если вы используете синтаксис XHTML, можете написать autoplay="autoplay"
. Этот синтаксис используется в официальных документах Управления по управлению управлением избыточной информацией.
Если ставить аудиофайл на автоматическое проигрывание не кажется вам достаточно зловредным, вы можете принести еще больше скорби в этот мир, заставив аудиофайл бесконечно повторяться. Другой булев атрибут, loop
, позволит вам совершить этот низкий поступок:
<audio src="witchitalineman.mp3" autoplay loop>
</audio>
Использование атрибута loop
вместе с атрибутом autoplay
заставит меня искать вас с удвоенной энергией.