HTML-аудио
[1] HTML-аудио является предметом спецификации HTML и включает в себя ввод, воспроизведение и синтез звука в браузере.
элемент <аудио>
[ редактировать ]The <audio>
элемент представляет звук или аудиопоток. Обычно он используется для воспроизведения одного аудиофайла на веб-странице, показывая виджет графического интерфейса с элементами управления воспроизведением/паузой/громкостью.
The <audio>
элемент имеет следующие атрибуты:
- глобальные атрибуты (accesskey; class; contenteditable; contextmenu; dir; перетаскиваемый; dropzone; скрытый; id; язык; проверка орфографии; стиль; tabindex; заголовок; перевод)
- autoplay = "автовоспроизведение" или "" (пустая строка) или пусто
Указывает агенту пользователя автоматически начать воспроизведение аудиопотока, как только он сможет сделать это без остановки. - preload = «нет» или «метаданные» или «авто» или «» (пустая строка) или пусто
Представляет собой подсказку для User-Agent о том, считается ли целесообразным оптимистичная загрузка самого аудиопотока или его метаданных.- «нет»: намекает агенту пользователя, что пользователю не понадобится аудиопоток или что желательно минимизировать ненужный трафик.
- «Метаданные»: намекает агенту пользователя, что пользователю не понадобится аудиопоток, но желательно получить его метаданные (длительность и т. д.).
- «auto»: указывает агенту пользователя, что оптимистичная загрузка всего аудиопотока считается желательной.
- control = "controls" или "" (пустая строка) или пусто
Указывает агенту пользователя предоставить пользовательский интерфейс для управления воспроизведением аудиопотока. - цикл = "цикл" или "" (пустая строка) или пусто
Указывает агенту пользователя вернуться к началу аудиопотока после достижения конца. - медиагруппа = строка
Указывает агенту пользователя связать несколько видео и/или аудиопотоков вместе. - muted = «приглушено» или «» (пустая строка) или пусто
Представляет состояние аудиопотока по умолчанию, потенциально переопределяющее предпочтения пользователя. - src = непустой [URL] потенциально окружен пробелами
URL-адрес аудиопотока.
Пример:
Поддержка браузеров
[ редактировать ]На ПК:
- Гугл Хром
- Интернет Эксплорер 9
- Фаерфокс 3.5
- Опера 10.5
- Сафари 3.1
На мобильных устройствах:
- Android-браузер 2.3
- Гугл Хром
- Интернет Эксплорер Мобайл 9
- Сафари 4
- Firefox
- Опера Мобайл 11
Поддерживаемые форматы кодирования звука
[ редактировать ]Внедрение HTML-аудио, как и HTML-видео , разделилось между сторонниками свободных и запатентованных форматов. рекомендацию по использованию Vorbis отозвал Ogg из HTML5 спецификации В 2007 году W3C вместе с рекомендацией по использованию Theora , сославшись на отсутствие формата, принятого всеми основными поставщиками браузеров.
Apple и Microsoft поддерживают ISO / IEC , определенные форматы AAC , и более старый формат MP3 . Mozilla и Opera поддерживают бесплатный и открытый , не требующий лицензионных отчислений формат Vorbis в контейнерах Ogg и WebM и критикуют обремененный патентами характер MP3 и AAC, которые гарантированно являются «несвободными». На данный момент Google обеспечивает поддержку всех распространенных форматов.
Большинство файлов AAC конечной длины упакованы в контейнер MPEG-4 (.mp4, .m4a), который изначально поддерживается в Internet Explorer, Safari и Chrome и поддерживается операционной системой в Firefox и Opera. [2] Большинство прямых потоков AAC бесконечной длины заключены в контейнер транспортного потока аудиоданных (.aac, .adts), который поддерживается Chrome, Safari, Firefox и Edge. [3] [4] [5]
Многие браузеры также поддерживают несжатый звук PCM в контейнере WAV E. [6]
бесплатный и открытый формат Opus В 2012 году был выпущен и стандартизирован IETF , не требующий лицензионных отчислений . Его поддерживают Mozilla, Google, Opera и Edge. [6] [7] [8] [9]
В этой таблице документирована текущая поддержка кодирования звука форматов <audio>
элемент.
Формат | Контейнер | MIME-тип | Хром | Интернет Эксплорер | Край | Firefox | Опера | Сафари |
---|---|---|---|---|---|---|---|---|
ПКМ | WAV | аудио/wav | Да | Нет | Да | Да, в версии 3.5 [ нужна ссылка ] | Да, в версии 11.00 | Да, в версии 3.1 |
MP3 | MP3 | аудио/mpeg | Да [10] | Да, в IE9 | Да | Да, в v71 [11] | Да [10] | Да, в версии 3.1 |
ААС | МП4 | аудио/mp4 | Да | Да, в IE9 | Да | Из ОС [а] | Да | Да |
АДТС [б] | аудио/aac аудио/aacp | Да | Нет | Да | Из ОС [а] в версии 45.0 [13] [14] | Да | Да | |
Ворбис | Огг | аудио/ogg | Да, в версии 9 | Нет | В v79 [15] В версии 17 с расширениями веб-медиа [16] | Да, в версии 3.5 [17] | Да, в версии 10.50 | С компонентами Xiph QuickTime ( macOS 10.11 и более ранние версии) |
ВебМ | аудио/вебм | Да | Нет | В v79 [15] В версии 17 с расширениями веб-медиа [16] | Да, в версии 4.0 [18] | Да, в версии 10.60 | Нет | |
Опус | Огг | аудио/ogg | Да, в v25 (в версии 31 для Windows) | Нет | В v79 [19] В версии 17 с расширениями веб-медиа [16] | Да, в версии 15.0 [20] | Да, в версии 14 | Нет |
ВебМ | аудио/вебм | Да | Нет | В v79 [19] В версии 17 с расширениями веб-медиа [16] | Да, в версии 28.0 [21] | Да | Да, в Safari 15+ и macOS Monterey. [22] [23] | |
КАФ | аудио/х-кафе | Нет | Нет | Нет | Нет | Нет | Да, в Safari 11 и macOS High Sierra. | |
ФЛАК | ФЛАК | аудио/флак | Да, в v56 [24] | Нет | Да, в версии 16 [25] | Да, в версии 51 [26] | Да | Да, в версии 11 [27] |
Огг | аудио/ogg | Да, в v56 [24] | Нет | В v79 [28] В версии 17 с расширениями веб-медиа [16] | Да, в версии 51 [26] | Да | Нет |
API веб-аудио и API обработки MediaStream
[ редактировать ]Спецификация API веб-аудио, разработанная W3C, описывает API JavaScript высокого уровня для обработки и синтеза звука в веб-приложениях. Основная парадигма представляет собой граф маршрутизации звука, в котором несколько объектов AudioNode соединены вместе для определения общего рендеринга звука. Фактическая обработка в основном будет происходить в базовой реализации (обычно оптимизированный код Ассамблеи/C/C++), но также поддерживается прямая обработка и синтез JavaScript. [29]
Браузер Mozilla Firefox реализует аналогичное расширение API аудиоданных, начиная с версии 4, реализованной в 2010 году. [30] и выпущен в 2011 году, но Mozilla предупреждает, что он нестандартен и устарел, и рекомендует вместо этого API веб-аудио. [31] Некоторые библиотеки обработки и синтеза звука JavaScript, такие как Audiolet, заархивировано 28 января 2013 г. на Wayback Machine, поддерживают оба API.
Рабочая группа W3C Audio также рассматривает спецификацию MediaStream Processing API, разработанную Mozilla . [32] Помимо микширования и обработки звука, он охватывает более общую потоковую передачу мультимедиа, включая синхронизацию с элементами HTML, захват аудио- и видеопотоков, а также одноранговую маршрутизацию таких медиапотоков. [33]
Поддержка браузеров
[ редактировать ]На ПК:
- Гугл Хром 10 [34] (Включено по умолчанию с 14 [35] )
- Firefox 23 (включен по умолчанию с версии 25)
- Опера 15
- Сафари 6
- Майкрософт Край 12
- Опера GX 36
На мобильных устройствах:
- Google Chrome для Android 28 (включен по умолчанию с версии 29) и Apple iPad
- Safari 6 (имеет ограничения на использование (отключен, пока пользователь не позвонит))
- Firefox 23 (включен по умолчанию с версии 25)
- Тизен
API веб-речи
[ редактировать ]API Web Speech призван предоставить альтернативный метод ввода для веб-приложений (без использования клавиатуры). С помощью этого API разработчики могут предоставить веб-приложениям возможность транскрибировать голос в текст с микрофона компьютера. Записанный звук отправляется на речевые серверы для транскрипции, после чего текст набирается для пользователя. Сам API не зависит от базовой реализации распознавания речи и может поддерживать как серверные, так и встроенные распознаватели. [36] Группа HTML Speech Incubator предложила реализовать аудиоречевую технологию в браузерах в виде унифицированных кроссплатформенных API. API содержит оба: [37]
- API речевого ввода
- Преобразование текста в речь API
Google интегрировал эту функцию в Google Chrome в марте 2011 года. [38] Предоставление пользователям возможности голосового поиска в Интернете с помощью такого кода:
Поддержка браузеров
[ редактировать ]- Сафари 14.1 и более поздние версии [39]
- Гугл Хром 25 и выше
- Firefox Desktop 44.0 и более поздние версии (Linux и Mac) / 45.0 и более поздние версии (Windows) [ЧАСТИЧНО: только синтез речи; никакого признания; включен по умолчанию с версии 49.0] [40] [41]
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Перейти обратно: а б Встроенная поддержка кодека AAC отсутствует по причинам лицензирования. Для декодирования аудиофайлов требуется, чтобы ОС хоста предоставила совместимую библиотеку. [12]
- ^ Файл MPEG-4 содержит заголовок, который включает метаданные, за которыми следуют «дорожки», которые могут включать как видео, так и аудиоданные, например, видео в кодировке H.264 и аудио в кодировке AAC. ADTS, напротив, представляет собой потоковый формат, состоящий из серии кадров, каждый из которых имеет заголовок, за которым следуют данные AAC. [4]
Ссылки
[ редактировать ]- ^ «Ресурсы – Сафари» . Разработчик Apple . Проверено 18 ноября 2022 г.
- ^ «TechFans.net – Блог новостей технологий и бизнеса» . TechFans.net . Проверено 18 ноября 2022 г.
- ^ «Контейнер MP4 · Выпуск № 95 · karlheyes/icecast-kh» . Гитхаб . Проверено 18 ноября 2022 г.
- ^ Перейти обратно: а б «Техническое примечание TN2236: Высокоэффективное усовершенствованное кодирование звука (HE-AAC)» .
- ^ «1224887 — реализация клиента декодирования звука OpenMax IL AAC» .
- ^ Перейти обратно: а б «Руководство по типам и форматам медиа: изображения, аудио и видеоконтент – Технологии веб-медиа | 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 г.
- ^ Перейти обратно: а б «Включить поддержку mp3 в Chromium» . Google . Проверено 1 мая 2018 г.
- ^ «Примечания к выпуску Firefox 71.0» . Мозилла. 3 декабря 2019 г.
- ^ «Руководство по типам и форматам медиа: изображения, аудио и видеоконтент» . Сеть разработчиков Mozilla . Мозилла . Проверено 6 декабря 2019 г.
- ^ «1190341 — рассылка аудио/aacp не поддерживается» .
- ^ «1169212 — Создать ADTSDemuxer, MediaDataDemuxer» .
- ^ Перейти обратно: а б «Состояние платформы — разработчик Microsoft Edge» .
- ^ Перейти обратно: а б с д и «Представляем пакет расширений Web Media с поддержкой OGG Vorbis и Theora для Microsoft Edge» . Блог разработчиков Microsoft Edge . Майкрософт . 5 декабря 2017 г.
- ^ «Заметки Firefox — Рабочий стол» .
- ^ «Заметки Firefox — Рабочий стол» .
- ^ Перейти обратно: а б «Состояние платформы — разработчик Microsoft Edge» . разработчик.microsoft.com .
- ^ «Заметки Firefox — Рабочий стол» .
- ^ «Firefox 28.0: ознакомьтесь со всеми новыми функциями, обновлениями и исправлениями» .
- ^ Симмонс, Джен (26 октября 2021 г.). «Новые функции WebKit в Safari 15» .
- ^ «Документация разработчика Apple» . разработчик.apple.com .
- ^ Перейти обратно: а б «Поддержка кодека FLAC для <audio> и WebAudio» . Статус платформы Chrome . Проверено 27 декабря 2016 г.
- ^ «Состояние платформы — разработчик Microsoft Edge» . разработчик.microsoft.com .
- ^ Перейти обратно: а б «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 г. ( [электронная почта защищена] с февраля 2011 г.)» . lists.w3.org . Проверено 18 ноября 2022 г.
- ^ Скотт Гилбертсон (19 сентября 2011 г.). «В Chrome 14 добавлен улучшенный звук и поддержка встроенного клиента» . Вебмонки . Проводной . Проверено 4 июля 2012 г.
- ^ «Проект API» . Проверено 28 января 2012 г.
- ^ «API речи HTML5» . Проверено 28 января 2012 г.
- ^ «Разговор с компьютером» . Проверено 28 января 2012 г.
- ^ «API веб-речи – веб-API | MDN» . Проверено 20 мая 2024 г.
- ^ «Firefox 49 для разработчиков – Mozilla | MDN» . Проверено 20 мая 2024 г.
- ^ «API веб-речи – веб-API | MDN» . Проверено 20 мая 2024 г.
Внешние ссылки
[ редактировать ]- HTML/Элементы/аудио – W3C Wiki
- Аудиоэлемент HTML5 – W3C
- API веб-аудио – W3C
- API обработки MediaStream – W3C
- API веб-речи – W3C
- Веб-аудио DAW — GitHub
- API веб-аудио Mozilla