микроданные и внешний вид — 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.Play mp3"id="audiotrack" preload="auto"> </audio> </figure>
В этот код мы добавим микроданные, чтобы получить пользу от поисковых систем и подключить добавочный 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.Play mp3"id="audiotrack" itemprop="audio" preload="auto"> </audio> </figure>
Оформление аудио
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 обычно даже предлагают готовый код для встраивания видео/аудио на ваши веб-страницы; если вы используете этот маршрут, вы можете избежать некоторых трудностей, которые мы обсуждаем в этой статье. Подробнее об этом виде услуг мы поговорим в следующей статье.

mp3"id="audiotrack" preload="auto">
</audio>
</figure>
mp3"id="audiotrack" itemprop="audio" preload="auto">
</audio>
</figure>