микроданные и внешний вид — CSS-LIVE
Перевод статьи Making An Audio Player With HTML5, Part 3: Microdata and Skinning с сайта demosthenes.info, c разрешения автора — Дадли Стори.
В первых двух статьях этого цикла я представил концепцию и код для собственного аудиоплеера. Прототип, который сконструирован к этому моменту – «сырой», без какого-либо оформления: HTML5 и JavaScript был написан на скорую руку, чтобы убедиться, что базовая концепция работает. В этой статье я сосредоточусь на улучшении внешнего вида плеера и добавлении микроданных, прежде чем вводить дополнительные функции в четвёртой статье.
Элементы аудио
Первым делом давайте взглянем на DOM, который у нас есть на данный момент. Скрипт во второй статье этого цикла добавил ползунок и другие функции, реализуя подход постепенного улучшения, и в результате получился следующий код:
<figure id="audioplayer"> <figcaption> <div>Track
<span>24 Ghosts III
</span></div> <div id="album">Album
<span>Ghosts III
</span></div> <div id="artist">Artist
<span>Nine Inch Nails
</span></div> <div id="time">Time
<span>00:00
</span></div> </figcaption> <div id="fader"> <input type="range" min="0" max="1" step="any" value="1"id="volumeSlider"> <button type="button">volumehigh
</button> </div> <div id="playback"> <button type="button"></button> <progress min="0" max="100" value="0" id="playhead"> </progress> </div> <audio src="/assets/audio/24-ghosts-III. mp3"id="audiotrack" preload="auto"> </audio> </figure>
Play
В этот код мы добавим микроданные, чтобы получить пользу от поисковых систем и подключить добавочный Javascript позже в этом цикле статей. Код стал таким в конце:
<figure id="audioplayer" itemprop="track"itemtype="http://schema.org/MusicRecording"> <figcaption> <div>Track
<span itemprop="name">24 Ghosts III
</span> </div> <div id="album"><span itemprop="inAlbum">
Album Ghosts III
</span> </div> <div id="artist">Artist
<span itemprop="byArtist">Nine Inch Nails
</span> </div> <div id="time">Time
<span>00:00
</span> </div> </figcaption> <meta itemprop="duration" content="PT2M29S"> <div id="fader"> <input type="range" min="0" max="1" step="any" value="1"orient="vertical" id="volumeSlider"> <button type="button">volumehigh
</button> </div> <div id="playback"> <button type="button"></button> <progress min="0" max="100" value="0" id="playhead"> </progress> </div> <audio src="/assets/audio/24-ghosts-III. mp3"id="audiotrack" itemprop="audio" preload="auto"> </audio> </figure>
Play
Оформление аудио
CSS, который применён к плееру, использует несколько техник от среднего до продвинутого уровня. Начальный CSS сбрасывает модель box-sizing, устанавливает общее оформление для аудиоплеера и полностью скрывает элемент <audio>:
* { box-sizing: border-box
;} figure#audioplayer { border:1px solid #000
; background: url(dark_wall.png)#333
; overflow:hidden
; width:27rem
; padding:.4rem
; margin:2rem auto
; } figure#audioplayer audio { width:0
; height:0
; }
Далее оформим элементы с различной информацией внутри плеера, установив им границы со всех сторон, чтобы между ними был разделитель. При помощи CSS (к сожалению, нестандартного — прим. перев.) элемент input
с типом range
сделан вертикальным для Webkit и Chrome:
figure#audioplayer figcaption { width:21. 5rem
; font-size:0
; margin:.45rem
; background:#000
; float:left
; border:1px solid #555
; text-align:left
;} figure#audioplayer figcaption div { background:#000
; color:#fff
; padding:.8rem
; font-family:Avenir, Helvetica, sans-serif
; text-transform:uppercase
; font-size:.8rem
; display: inline-block
;} figure#audioplayer figcaption div span { display:block
; font-size:1.3rem
; text-indent:1rem
;} div#album { border-top:1px solid #555
; border-bottom:1px solid #555
; width:100%
;} div#time { width:7.55rem
; border-left:1px solid #555
;} input#volumeSlider{ -webkit-appearance:slider-vertical
; width:35px
; }
Для кнопок используется иконочный шрифт с семантическими лигатурами, чтобы превратить их текст в изображение.
figure#audioplayer button { width:3rem
; height:3rem
; background:#000
; color:#fff
; border:none
; -webkit-font-feature-settings: "liga",
"dlig"; font-feature-settings: "liga",
"dlig";} #playback { clear:both
;} div#fader { display:inline-block
;}
Также я сделал оформление для элемента <progress>. Здесь используется HSL, чтобы в будущем (если потребуется) нам было легче менять цвет.
#playback progress { margin-left:1rem
; width: 20rem
; height:12px
; -webkit-appearance:none
; -moz-appearance:none
; appearance:none
; background-color:#888
; border:none
; color:hsl(44,100%,44%)
; } progress::-webkit-progress-bar,
progress::-moz-progress-bar,
progress::progress-bar { background:hsl(44,100%,44%)
; } progress::-webkit-progress-value { background:hsl(44,100%,44%)
; } progress::-moz-progress-bar { background-color:hsl(44,100%,44%)
; }
Наконец, плеер поддерживает адаптивность, перемещая элементы в нужное место и уменьшая отступы при сужении области просмотра:
@media screen and (max-width:500px){ div#time { display:block
!important; border-top:1px solid #555
; width:100%
;} figure#audioplayer { width:100%
; padding:. 2rem
;} figure#audioplayer figcaption div { padding:.4rem
;} } @media screen and (max-width:450px){ figure#audioplayer figcaption { width:16rem
; } #playback progress { width: 220px
; } } @media screen and (max-width:400px) { figure#audioplayer figcaption { width:14rem
; } }
See the Pen Simple HTML5 Audio Player In Pure JS & CSS by Dudley Storey (@dudleystorey) on CodePen.
В следующей статье я буду использовать Web Audio API, чтобы добавить и анимировать отображение шкалы для правого и левого каналов плеера.
P.S. Это тоже может быть интересно:
Встраивание аудио. HTML, XHTML и CSS на 100%
Встраивание аудио
Для начала возьмем самую распространенную задачу – проигрывание фонового звука.
Листинг 4.15. Задание фонового звука с помощью элемента BGSOUND
<html>
<head>
<title>Встраивание объектов</title>
</head>
<body>
<bgsound src=»test.mp3″ loop=»1″ volume=»5″ />
</body>
</html>
В случае примера из листинга 4.15 музыка из файла test.mp3 будет проиграна один раз с пятой громкостью.
Есть и другой способ задать фоновую музыку, например ввести на сайт проигрыватель и задать ему нулевые размеры. Этот способ имеет смысл использовать, когда нужно реализовать нестандартное управление воспроизведением музыки на сайте. В таком случае это можно будет сделать через управляющие команды проигрывателя.
В листинге 4.16 приведен пример того, как задать фоновую музыку с использованием элемента OBJECT.
Листинг 4.16. Задание фоновой музыки с помощью элемента OBJECT
<html>
<head>
<title>Встраивание объектов</title>
</head>
<body>
<object classid=»CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95″ type=»audio/x-mpeg» >
<param name=»FileName» value=» test.mp3″ />
<param name=»AutoStart» value=»true» />
<param name=»Volume» value=»10″ />
<param name=»PlayCount» value=»2″ />
</object>
</body>
</html>
В листинге 4.16 используются параметры AutoStart и Volume, которые задают автоматическое начало воспроизведения и громкость звука соответственно, а сам файл для воспроизведения указывается с помощью параметра URL. Количество повторов определяет параметр PlayCount. При обработке кода из листинга 4.16 файл test.mp3 будет проигрываться сразу при открытии страницы с десятой громкостью два раза.
Примечание
В последних версиях браузеров, перед тем как запустить активное содержимое, запрашивается разрешение пользователя на запуск. Если использовать вариант с элементом BGSOUNG, то подобного запроса не будет, а сразу же начнется воспроизведение звука. При использовании второго варианта для запуска активного содержимого необходимо будет получить согласие пользователя.
С фоновым звуком все просто, но его явно недостаточно для создания полноценной мультимедийной галереи, чаще приходится встраивать на страницу музыку вместе с проигрывателем. В таком случае без элемента OBJECT не обойтись, и альтернатив здесь нет.
Начнем с того, что приведем проигрыватель к удобному для посетителя виду. При воспроизведении музыки пропадает необходимость в полном окне проигрывателя и поэтому графический дисплей можно «срезать». Это делается очень просто: нужно изменить высоту объекта, то есть просто опустить атрибут height элемента OBJECT, оставляя проигрыватель без высоты.
Код для такого отображения проигрывателя представлен в листинге 4.17.
Листинг 4.17. Неполное окно проигрывателя
<html>
<head>
<title>Встраивание объектов</title>
</head>
<body>
<object classid=»CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95″ type=»audio/x-mpeg»>
<param name=»FileName» value=»test.mp3″ />
<param name=»AutoStart» value=»1″ />
</object>
</body>
</html>
Результат обработки браузером листинга представлен на рис. 4.13.
Рис. 4.13. Аудиопроигрыватель
В примере не заданы ни высота, ни ширина. В случае с проигрыванием музыки в этом нет необходимости.
Итак, у нас есть удобный для посетителя сайта проигрыватель. Единственное, что хотелось бы добавить в него, это возможность видеть название песни и имя исполнителя данной мелодии. Это очень просто сделать: нужно добавить строку параметров: <PARAM name=»ShowDisplay» value=»1″/>.
Результат добавления такой строки параметров показан на рис. 4.14.
Рис. 4.14. Аудиопроигрыватель с дополнительной информацией
Теперь у нас есть удобный и симпатичный проигрыватель музыкальных файлов.
Примечание
При использовании Проигрывателя Windows Media версии выше 6. 4 параметры могут отличаться. Например, вместо FileName используется параметр URL. Идентификатор clsid для Проигрывателя Windows Media версий выше 6. 4: 6BF52A52-394A-11D3-B153-00C04F79FAA6.
Итак, музыка встроена, но нам не терпится добавить туда еще немного возможностей, например проигрывание видео.
Данный текст является ознакомительным фрагментом.
4.
1. Встраивание изображений4.1. Встраивание изображений Начнем с добавления изображения, потому что это самый простой для добавления и самый распространенный мультимедийный элемент, встречающийся в Интернете. У изображений много плюсов: статичность, небольшие размеры файлов (относительно других
Встраивание объектов
Встраивание объектов Итак, есть способ загрузить наш мультимедиа-файл на страницу сразу, при этом надо учитывать, с помощью какой программы будет воспроизводиться файл, потому что загружать динамический объект нужно вместе с проигрывателем. Для обращения к этой
Встраивание видео
Встраивание видео Сейчас встраивать видео на сайт можно без опасений – нынешних скоростей доступа в Интернет достаточно, чтобы у пользователей не было проблем с просмотром и скачиванием видео. Тем более что сейчас перемещение видеоархивов в сеть становится весьма
Встраивание Flash-графики
Встраивание Flash-графики Необходимость Flash-графики не всегда очевидна, однако красиво нарисованная заставка может оживить вашу страницу. Не стоит ни пренебрегать Flash-графикой, ни переоценивать ее действие. Переизбыток подобного содержимого может замедлить загрузку
7.1. Встраивание CSS в HTML
7.1. Встраивание CSS в HTML Начнем разбирать таблицы стилей с небольшого HTML-документа (листинг 7.1).Листинг 7.1. Простой HTML-документ<html><head><title>Моя домашняя страница</title></head><body><h2>Моя домашняя страница</h2><p>На этой странице вы найдете информацию обо мне
Встраивание драйверов в ядро
Встраивание драйверов в ядро Драйвер устройства является частью кода ядра операционной системы и обеспечивает взаимодействие других подсистем UNIX с физическими или псевдоустройствами. Существует два основных метода встраивания кода и данных драйвера в ядро
Копирование аудио
Копирование аудио Вставьте аудиодиск в привод. Запустите программу Sound Forge, выполните команду File ? Extract Audio from CD (Файл ? Извлечь аудио с CD). Откроется окно Extract Audio from CD (Извлечь аудио с CD) (рис. 4.3). Рис. 4.3. Окно Extract Audio from CD (Извлечь аудио с CD).Из раскрывающегося списка Action
8.3.2. Расширение и встраивание языков
8.3.2. Расширение и встраивание языков Один из фундаментально важных вопросов заключается в том, возможно ли реализовать мини-язык путем расширения или встраивания существующего языка сценариев. Нередко такой подход является правильным путем к императивному мини-языку,
8.3.2. Расширение и встраивание языков
8. 3.2. Расширение и встраивание языков Один из фундаментально важных вопросов заключается в том, возможно ли реализовать мини-язык путем расширения или встраивания существующего языка сценариев. Нередко такой подход является правильным путем к императивному мини-языку,
Аудио– и видеопроигрыватели
Аудио– и видеопроигрыватели Где мы найдем любимое кино и песнюОтличие CD и DVD-дисковДиски бывают двух видов – CD и DVD.Отличие CD от DVD только в том, что на DVD помещается в четыре раза больше информации, чем на CD. То есть если на CD-диск помещается один фильм, да и то не в очень
Встраивание
Встраивание В некоторых случаях более удобно и эффективно выполнять подстановку тела функции вместо ее вызова. Непосредственная подстановка тела функции позволит сэкономить время процессора на вызове функции. В языке Си этого можно достичь при помощи директивы
3.
4. Аудио- и видеоплееры3.4. Аудио- и видеоплееры Персональный компьютер — вещь поистине уникальная. C его помощью можно не только набирать тексты, путешествовать по просторам Интернета, играть в игры или заниматься научной работой — вы можете использовать своего железного друга как магнитофон
5.1.15. Аудио- и видеофайлы
5.1.15. Аудио- и видеофайлы Текстовый процессор Pages предоставляет возможность добавлять в документ звуковые файлы, клипы и Flash-ролики. Для запуска файла используется двойной щелчок по его пиктограмме. Как вы, наверное, догадались, эта замечательная возможность Pages
Видео- и аудиоконтент — Изучите веб-разработку
- Предыдущий
- Обзор: мультимедиа и встраивание
- Следующий
Теперь, когда мы научились добавлять простые изображения на веб-страницу, следующим шагом будет добавление видео- и аудиоплееров в HTML-документы! В этой статье мы рассмотрим именно это с элементами и
; затем мы закончим просмотром того, как добавлять титры/субтитры к вашим видео.
Предпосылки: | Базовая компьютерная грамотность, установлено базовое программное обеспечение, базовые знания работа с файлами, знакомство с основами HTML (как описано в Начало работы с HTML) и Изображения в HTML. |
---|---|
Цель: | Чтобы узнать, как встраивать видео- и аудиоконтент на веб-страницу и добавлять титры/субтитры к видео. |
Первый приток онлайн-видео и аудио стал возможен благодаря проприетарным технологиям на основе плагинов, таким как Flash и Silverlight. У обоих были проблемы с безопасностью и доступностью, и теперь они устарели в пользу собственных HTML-решений и
элементов и доступности API-интерфейсов JavaScript для управления ими. Мы не будем рассматривать здесь JavaScript — только основные основы, которые можно получить с помощью HTML.
Мы не будем учить вас создавать аудио- и видеофайлы — это требует совершенно другого набора навыков. Мы предоставили вам образцы аудио- и видеофайлов и пример кода для ваших собственных экспериментов, если вы не можете получить свой собственный.
Примечание: Прежде чем начать здесь, вы также должны знать, что существует довольно много OVP (поставщиков онлайн-видео), таких как YouTube, Dailymotion и Vimeo, и поставщиков онлайн-аудио, таких как Soundcloud. Такие компании предлагают удобный и простой способ размещения и просмотра видео, так что вам не нужно беспокоиться об огромном потреблении полосы пропускания. OVP обычно даже предлагают готовый код для встраивания видео/аудио на ваши веб-страницы; если вы используете этот маршрут, вы можете избежать некоторых трудностей, которые мы обсуждаем в этой статье. Подробнее об этом виде услуг мы поговорим в следующей статье.