Работаем с HTML5 тегом audio из javascript

В HTML5 появился тег для вставки проигрывателя аудио-файлов. Т.е. нам уже не нужно встраивать Flash проигрыватель и т.п, можно обойтись средствами браузера для проигрывания аудио-трека (-ов).

Далее я расскажу о использовании тега и работе с ним средствами javascript.

Спецификация тега, поддерживаемые браузеры, типы аудио-файлов описаны вот тут.

Его можно использовать в двух вариантах —

или вот так

Если не указать ключ controls, то плеер, сгенерированный браузером не будет показан на странице в браузере. Вернее у нас будет пустой контейнер нулевой высоты, если высота не задана стилями. Пользователь не сможет управлять воспроизведением. Такой вариант подойдет либо для фоновой звуковой дорожки к веб-странице, либо в качестве скрытого плеера, управляемого скриптами.

Фоновый трек на вашей веб-странице

Если перед вами стоит именно такая задача, то скорее всего вы добавите пару флажков в проигрыватель:

Т.е. зададите автоматическое воспроизведение трека «по кругу» при загрузке страницы.

Управление audio плеером из скрипта (javascript).

Как всегда подобные вещи лучше рассматривать на практическом примере. Пусть у нас будет пара кнопок на сайте, нажимая которые, вы будете проигрывать одну из двух мелодий. При этом, мы будем использовать один и тот же элемент audio. Путь до трека я буду хранить в специальном аттрибуте — data-src каждой из кнопок.

HTML код будет примерно такой:

Далее нам нужно привязать событие нажатия клавиши к нашим импровизированным контейнерам-кнопкам. Я предполагаю, что с помощью каскадных стилей вы оформили внешний вид этих кнопок. При нажатии кнопка будет получать дополнительный CSS стиль — «on», чтобы мы могли задать отличное оформление активной и неактивной кнопок.

Например, в неактивном состоянии на кнопке выводится значок паузы, а при активации (добавлении стиля «on») — картинка запущенного проигрывателя.

Вот как будет выглядеть скрипт, привязывающий работу плеера к нашим кнопкам:

Если треков много, то использование одного проигрывателя «на всех» — это + в плане оптимизации ресурсов компьютера.

Управление громкостью тега AUDIO.

Кроме «стоп» и «играй», есть возможность манипулировать громкостью. За это отвечает свойство объекта — volume.

Суть в том, что вы можете выставить значение как коэффициент от номинала общей громкости от нуля до единицы. 0.0 — громкость «на нуле», 1 — на полную громкость. Значения более единицы не добавят амплитуды свыше 1.

Если ассоциировать этот параметр с ползунком, то можно запрограммировать управление громкостью проигрывателя.

Если вам интересны и другие возможности управления объектом проигрывателя, предоставляемого браузером, читайте следующие статьи:

Мало букафф? Читайте есчо !

Валидатор для JSON строки в PHP

Октябрь 2, 2018 г.

К JSON можно относиться как к одной из разновидностей текстовых форматов передачи данных. Но для PHP это просто ещё одна скалярная строка. Как определить, что перед нами действительно JSON? Чтобы убедиться, придется попытаться декодировать строку. ...

Читать

Error Code 1366 of Mysql при записи переводов в базу tmgmt_deepl

Октябрь 4, 2024 г.

Типично ошибка 1366 связана с тем, что кто то пытается записать символы с кодами не соответствующими кодовой таблице символов, установленной для таблицы в базе данных. Но в нашем случае речь идет о иной проблеме. Drupal использует utf8mb4 для текстовых ...

Читать

Конвертируем HTML в PDF

Ноябрь 6, 2012 г.

Есть разные пути, простые и сложные (вплоть до написания своей PHP библиотеки для конвертации HTML в PDF). Но мы трудным путем не пойдем, а воспользуемся готовым сервером, выполняющим данный экспорт. Для самых ленивых приведу пример его использования ...

Читать

Как в woocommerce изменить количество товаров на странице?

Август 3, 2017 г.

После установки плагин WC создаёт несколько страниц (речь идет о публикациях типа "Страница") на вашем сайте. Одна из них становится витриной, местом где ...

Читать
 

Комментарии к «Работаем с HTML5 тегом audio из javascript»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: