[1] HTML5 Audio является предметом спецификации HTML5, включающей ввод, воспроизведение и синтез звука, а также в браузере. iOS
элемент
Элемент представляет звук или аудиопоток <audio>
. [2] Обычно он используется для воспроизведения одного аудиофайла на веб-странице, показывая виджет графического интерфейса с элементами управления воспроизведением/паузой/громкостью.
Элемент <audio>
имеет следующие атрибуты:
- глобальные атрибуты (ключ доступа; класс; контент-редактирование; контекстное меню; каталог; перетаскивание; зона сброса; скрытый; идентификатор; язык; проверка орфографии; стиль; tabindex; заголовок; перевод)
- autoplay = "autoplay" или "" (пустая строка) или пусто
Указывает агенту пользователя автоматически начать воспроизведение аудиопотока, как только он сможет это сделать, без остановки. - preload = "none" или "metadata" или "auto" или "" (пустая строка) или пусто.
Представляет подсказку агенту пользователя о том, считается ли целесообразной оптимистичная загрузка самого аудиопотока или его метаданных.- «нет»: намекает агенту пользователя, что пользователю не понадобится аудиопоток или что желательно минимизировать ненужный трафик.
- «Метаданные»: намекает агенту пользователя, что пользователю не понадобится аудиопоток, но желательно получить его метаданные (длительность и т. д.).
- «auto»: указывает агенту пользователя, что оптимистичная загрузка всего аудиопотока считается желательной.
- control = "controls" или "" (пустая строка) или пусто
Указывает агенту пользователя предоставить пользовательский интерфейс для управления воспроизведением аудиопотока. - цикл = "цикл" или "" (пустая строка) или пусто
Указывает агенту пользователя вернуться к началу аудиопотока после достижения конца. - mediagroup = строка
Указывает агенту пользователя связать несколько видео и/или аудиопотоков вместе. - muted = «приглушено» или «» (пустая строка) или пусто
Представляет состояние аудиопотока по умолчанию, потенциально переопределяющее пользовательские настройки. - src = непустой [URL] потенциально окружен пробелами
URL-адрес аудиопотока.
Пример: [3]
Поддержка браузеров
На ПК:
На мобильных устройствах:
Поддерживаемые форматы кодирования звука
Внедрение аудио HTML5, как и видео HTML5 , разделилось между сторонниками свободных и запатентованных форматов. В 2007 году рекомендация использовать Vorbis была отозвана из спецификации W3C вместе с рекомендацией использовать Ogg Theora , сославшись на отсутствие формата, принятого всеми основными поставщиками браузеров.
Apple и Microsoft поддерживают форматы AAC , определенные ISO / IEC , и более старый формат MP3 . Mozilla и Opera поддерживают бесплатный и открытый , не требующий лицензионных отчислений формат Vorbis в контейнерах Ogg и WebM и критикуют запатентованный характер MP3 и AAC, которые гарантированно являются «несвободными». На данный момент Google обеспечивает поддержку всех распространенных форматов.
Большинство файлов AAC конечной длины упакованы в контейнер MPEG-4 (.mp4, .m4a), который изначально поддерживается в Internet Explorer, Safari и Chrome и поддерживается операционной системой в Firefox и Opera. [5] Большинство прямых потоков AAC бесконечной длины заключены в контейнер транспортного потока аудиоданных (.aac, .adts), который поддерживается Chrome, Safari, Firefox и Edge. [6] [7] [8]
Многие браузеры также поддерживают несжатый звук PCM в контейнере WAV E. [9]
В 2012 году был выпущен и стандартизирован IETF бесплатный и открытый формат Opus , не требующий лицензионных отчислений . Его поддерживают Mozilla, Google, Opera и Edge. [9] [10] [11] [12]
В этой таблице документирована текущая поддержка форматов кодирования звука элементом <audio>
.
API веб-аудио и API обработки MediaStream
Спецификация API веб-аудио, разработанная W3C, описывает API JavaScript высокого уровня для обработки и синтеза звука в веб-приложениях. Основная парадигма представляет собой граф маршрутизации звука, в котором несколько объектов AudioNode соединены вместе для определения общего рендеринга звука. Фактическая обработка в основном будет происходить в базовой реализации (обычно оптимизированный код Ассамблеи/C/C++), но также поддерживается прямая обработка и синтез JavaScript. [31]
Браузер Mozilla Firefox реализует аналогичное расширение API аудиоданных, начиная с версии 4, реализованное в 2010 году [32] и выпущенное в 2011 году, но Mozilla предупреждает, что оно нестандартно и устарело, и рекомендует вместо этого API веб-аудио. [33]
Некоторые библиотеки обработки и синтеза звука JavaScript, такие как Audiolet, заархивировано 28 января 2013 г. на Wayback Machine, поддерживают оба API.
Рабочая группа W3C Audio также рассматривает спецификацию MediaStream Processing API , разработанную Mozilla . [34]
Помимо микширования и обработки звука, он охватывает более общую потоковую передачу мультимедиа, включая синхронизацию с элементами HTML, захват аудио- и видеопотоков, а также одноранговую маршрутизацию таких медиапотоков. [35]
Поддержка браузеров
На ПК:
На мобильных устройствах:
- Google Chrome для Android 28 (включен по умолчанию с версии 29) и Apple iPad
- Safari 6 (имеет ограничения на использование (отключен, пока пользователь не позвонит))
- Firefox 23 (включен по умолчанию с версии 25)
- Тизен
API веб-речи
API Web Speech призван предоставить альтернативный метод ввода для веб-приложений (без использования клавиатуры). С помощью этого API разработчики могут предоставить веб-приложениям возможность транскрибировать голос в текст с микрофона компьютера. Записанный звук отправляется на речевые серверы для транскрипции, после чего текст набирается для пользователя. Сам API не зависит от базовой реализации распознавания речи и может поддерживать как серверные, так и встроенные распознаватели. [38]
Группа HTML Speech Incubator предложила реализовать аудиоречевую технологию в браузерах в виде унифицированных кроссплатформенных API. API содержит оба: [39]
- API речевого ввода
- Преобразование текста в речь API
Google интегрировал эту функцию в Google Chrome в марте 2011 года. [40] Разрешение пользователям осуществлять голосовой поиск в Интернете с помощью такого кода:
Поддержка браузеров
- Safari 6.1 и более поздние версии [ЧАСТИЧНО: только синтез речи; никакого признания]
- Гугл Хром 25 и выше
- Firefox Desktop 44.0 и более поздние версии (Linux и Mac) / 45.0 и более поздние версии (Windows) [ЧАСТИЧНО: только синтез речи; никакого признания; в настоящее время требуется вручную изменить параметр «media.webspeech.recognition.enable» about:config на «true»] [41] [42] [43]
Смотрите также
Примечания
- ^ ab Встроенная поддержка кодека AAC отсутствует по причинам лицензирования. Для декодирования аудиофайлов требуется, чтобы ОС хоста предоставила совместимую библиотеку. [15]
- ^ Файл MPEG-4 содержит заголовок, который включает метаданные , за которыми следуют «дорожки», которые могут включать как видео, так и аудиоданные, например, видео в кодировке H.264 и аудио в кодировке AAC. ADTS, напротив, представляет собой потоковый формат, состоящий из серии кадров, каждый из которых имеет заголовок, за которым следуют данные AAC. [7]
Рекомендации
- ^ abc «Ресурсы - Сафари». Разработчик Apple . Проверено 18 ноября 2022 г.
- ^ «Аудиоэлемент HTML5 – W3C» . Архивировано из оригинала 6 июня 2013 г. Проверено 2 июля 2013 г.
- ^ «Элемент «Вставить аудио» - HTML: язык разметки гипертекста | MDN» .
- ^ ab «Заметки Firefox — Рабочий стол».
- ^ "TechFans.net - Блог новостей технологий и бизнеса" . TechFans.net . Проверено 18 ноября 2022 г.
- ^ "Контейнер MP4 · Выпуск № 95 · karlheyes/icecast-kh" . Гитхаб . Проверено 18 ноября 2022 г.
- ^ ab «Техническое примечание TN2236: Высокоэффективное усовершенствованное кодирование звука (HE-AAC)» .
- ^ «1224887 - Внедрить клиент декодирования звука OpenMax IL AAC» .
- ^ ab «Руководство по типам и форматам мультимедиа: изображения, аудио и видеоконтент - Технологии веб-медиа | MDN» . http://developer.mozilla.org .
- ^ «11 сентября 2012 г.: аудиокодек Opus теперь имеет название RFC6716, выпущен справочный источник Opus 1.0.1» .
- ^ «Это Opus, он потрясающий, и теперь это стандарт аудиокодека! - Mozilla Hacks - блог веб-разработчиков» .
- ^ «Поддержка WebM, VP9 и Opus в Microsoft Edge - блог разработчиков Microsoft EdgeБлог разработчиков Microsoft Edge» . блоги.windows.com . 18 апреля 2016 года . Проверено 22 марта 2017 г.
- ^ ab «Включить поддержку mp3 в Chromium». Google . Проверено 1 мая 2018 г.
- ^ «Примечания к выпуску Firefox 71.0» . Мозилла. 3 декабря 2019 г.
- ^ «Руководство по типам и форматам мультимедиа: изображения, аудио и видеоконтент» . Сеть разработчиков Mozilla . Мозилла . Проверено 6 декабря 2019 г.
- ^ «1190341 — рассылка аудио/aacp не поддерживается» .
- ^ «1169212 — Создайте ADTSDemuxer, MediaDataDemuxer» .
- ^ ab «Состояние платформы — разработчик Microsoft Edge».
- ^ abcde «Представляем пакет расширений Web Media с поддержкой OGG Vorbis и Theora для Microsoft Edge». Блог разработчиков Microsoft Edge . Майкрософт . 5 декабря 2017 г.
- ^ «Заметки Firefox — Рабочий стол» .
- ^ ab «Состояние платформы — разработчик Microsoft Edge». разработчик.microsoft.com .
- ^ «Заметки Firefox — Рабочий стол» .
- ^ «Firefox 28.0, см. все новые функции, обновления и исправления» .
- ↑ Симмонс, Джен (26 октября 2021 г.). «Новые функции WebKit в Safari 15».
- ^ «Документация разработчика Apple». разработчик.apple.com .
- ^ ab «Поддержка кодека FLAC для <audio> и WebAudio». Статус платформы Chrome . Проверено 27 декабря 2016 г.
- ^ «Состояние платформы — разработчик Microsoft Edge» . разработчик.microsoft.com .
- ^ ab «Firefox 51 для разработчиков». Сеть разработчиков Mozilla . Проверено 27 декабря 2016 г.
- ↑ Хаим Гартенберг (6 июня 2017 г.). «Сообщается, что Apple добавляет поддержку звука без потерь FLAC в iOS 11». Грань .
- ^ «Состояние платформы — разработчик Microsoft Edge» .
- ^ Крис Роджерс (15 марта 2012 г.). «API веб-аудио». W3C . Архивировано из оригинала 20 июля 2012 г. Проверено 4 июля 2012 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ «API аудиоданных» .
- ^ «Представляем расширение Audio API» . Сеть разработчиков Mozilla . Мозилла . 05.03.2012. Архивировано из оригинала 5 мая 2012 г. Проверено 4 июля 2012 г.
- ^ «API обработки звука». W3C . 15 декабря 2011 г. Архивировано из оригинала 14 июня 2012 г. Проверено 4 июля 2012 г.
{{cite web}}
: CS1 maint: bot: исходный статус URL неизвестен ( ссылка ) - ^ Роберт О'Каллахан (31 мая 2012 г.). «API обработки MediaStream». W3C . Проверено 4 июля 2012 г.
- ^ «API веб-аудио теперь доступен в Chrome от Криса Роджерса 1 февраля 2011 г. ([email protected] с февраля 2011 г.)» . lists.w3.org . Проверено 18 ноября 2022 г.
- ^ Скотт Гилбертсон (19 сентября 2011 г.). «В Chrome 14 добавлен улучшенный звук и поддержка встроенного клиента». Вебмонки . Проводной . Проверено 4 июля 2012 г.
- ^ «Проект API» . Проверено 28 января 2012 г.
- ^ «API речи HTML5» . Проверено 28 января 2012 г.
- ^ «Разговор с компьютером» . Проверено 28 января 2012 г.
- ^ «Firefox 44 для разработчиков – Mozilla | MDN» . Проверено 9 марта 2016 г.
- ^ «Firefox — Примечания (45.0) — Mozilla» . Проверено 9 марта 2016 г.
- ^ «API веб-речи – веб-API | MDN» . Проверено 9 марта 2016 г.
Внешние ссылки
- HTML/Элементы/аудио – W3C Wiki
- Аудиоэлемент HTML5 – W3C
- API веб-аудио – W3C
- API обработки MediaStream – W3C
- API веб-речи – W3C
- Веб-аудио DAW — GitHub
- API веб-аудио Mozilla