HTML5 аудио - HTML5 audio
HTML |
---|
Сравнения |
HTML5 Аудио является предметом HTML5 спецификации, включая аудиовход, воспроизведение и синтез, а также речь в текст, в браузере.
Элемент
Элемент
- глобальные атрибуты (accesskey; class; contenteditable; contextmenu; dir; draggable; dropzone; hidden; id; lang; spellcheck; style; tabindex; title; translate)
- autoplay = "autoplay" или "" (пустая строка) или пусто
Дает указание агенту пользователя автоматически начать воспроизведение аудиопотока, как только он сможет это сделать, не останавливаясь. - preload = "none" или "metadata" или "auto" или "" (пустая строка) или пусто
Представляет подсказку для User-Agent о том, стоит ли оптимистичная загрузка самого аудиопотока или его метаданных.- «none»: подсказывает User-Agent, что пользователю не нужен аудиопоток или что желательно минимизировать ненужный трафик.
- «метаданные»: подсказывает агенту пользователя, что пользователю не требуется аудиопоток, но желательно получить его метаданные (продолжительность и т. д.).
- "auto": подсказывает User-Agent, что оптимистическая загрузка всего аудиопотока считается желательной.
- controls = "controls" или "" (пустая строка) или пусто
Дает указание агенту пользователя открыть пользовательский интерфейс для управления воспроизведением аудиопотока. - loop = "loop" или "" (пустая строка) или пусто
Дает указание агенту пользователя вернуться к началу аудиопотока по достижении конца. - mediagroup = строка
Дает указание агенту пользователя связать вместе несколько видео и / или аудиопотоков. - muted = "приглушено" или "" (пустая строка) или пусто
Представляет состояние аудиопотока по умолчанию, потенциально перекрывающее пользовательские настройки. - src = непустой [URL], потенциально окруженный пробелами
URL-адрес аудиопотока.
Пример:[2]
<аудио контроль> <источник src="https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" тип="аудио / mp4" /> <источник src="https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga" тип="audio / ogg; codecs = vorbis" /> <п>Ваш пользовательский агент не поддерживает элемент HTML5 Audio.</п></аудио>
Поддерживающие браузеры
На ПК:
На мобильных устройствах:
- Браузер Android 2.3
- Браузер Blackberry
- Гугл Хром
- Internet Explorer Mobile 9
- Сафари 4[3]
- Fire Fox
- Opera Mobile 11
Поддерживаемые форматы кодирования звука
Принятие аудио HTML5, как и HTML5 видео, стал поляризованным между сторонниками свободный и обремененный патентами форматы. В 2007 г. рекомендация использовать Vorbis был убран из спецификации W3C вместе с этим использовать Огг Теора, ссылаясь на отсутствие формата, принятого всеми основными поставщиками браузеров.
яблоко и Microsoft поддержать ISO /IEC -определенный форматы AAC и старший MP3. Mozilla и Опера поддерживать бесплатные и открыто, бесплатно Vorbis формат в Ogg и WebM контейнеры и критикуют обремененный патентами характер MP3 и AAC, которые гарантированно являются «платными». Google до сих пор обеспечивала поддержку всех распространенных форматов.
Большинство файлов AAC с конечной длиной заключены в контейнер MPEG-4 (.mp4, .m4a), который изначально поддерживается в Internet Explorer, Safari и Chrome и поддерживается ОС в Firefox и Opera.[4] Большинство живых потоков AAC с бесконечной длиной заключены в контейнер потока передачи аудиоданных (.aac, .adts), который поддерживается Chrome, Safari, Firefox и Edge.[5][6][7]
Многие браузеры также поддерживают несжатые PCM аудио в WAV Емкость E.[8]
В 2012 году бесплатный и открытый без лицензионных отчислений Opus формат был выпущен и стандартизирован IETF. Он поддерживается Mozilla, Google, Opera и Edge.[9][10][11][12]
Эта таблица документирует текущую поддержку форматы кодирования звука посредством <audio>
элемент.
Формат | Контейнер | Тип MIME | Хром | Internet Explorer | Край | Fire Fox | Опера | Сафари |
---|---|---|---|---|---|---|---|---|
PCM | WAV | аудио / wav | да | Нет | да | Да, в версии 3.5 | Да, в версии 11.00 | Да, в версии 3.1 |
MP3 | MP3 | аудио / MPEG | да[13] | Да, в IE9 | да | Да, в версии 71[14] | да[13] | Да, в версии 3.1 |
AAC | MP4 | аудио / mp4 | да | Да, в IE9 | да | Из ОС[а] | да | да |
ADTS[b] | аудио / aac аудио / aacp | да | Нет | да | Из ОС[а] в версии 45.0 | да | да | |
Vorbis | Ogg | audio / ogg | Да, в версии 9 | Нет | В версии 79[16] В версии 17 с расширениями веб-медиа[17] | Да, в версии 3.5 | Да, в версии 10.50 | С Компоненты Xiph QuickTime (macOS 10.11 и ранее) |
WebM | аудио / webm | да | Нет | В версии 79[16] В версии 17 с расширениями веб-медиа[17] | Да, в версии 4.0 | Да, в версии 10.60 | Нет | |
Opus | Ogg | audio / ogg | Да, в версии 25 (в версии 31 для Windows) | Нет | В версии 79[18] В версии 17 с расширениями веб-медиа[17] | Да, в версии 15.0 | Да, в версии 14 | Нет |
WebM | аудио / webm | да | Нет | В версии 79[18] В версии 17 с расширениями веб-медиа[17] | Да, в версии 28.0[19] | да | Нет | |
CAF | аудио / x-caf | Нет | Нет | Нет | Нет | Нет | Да, в Safari 11 и macOS High Sierra | |
FLAC | FLAC | audio / flac | Да, в версии 56[20] | Нет | Да, в версии 16[21] | Да, в версии 51[22] | да | Да, в версии 11[23] |
Ogg | audio / ogg | Да, в версии 56[20] | Нет | В версии 79[24] В версии 17 с расширениями веб-медиа[17] | Да, в версии 51[22] | да | Нет |
API веб-аудио и API обработки MediaStream
Спецификация API веб-аудио, разработанная W3C описывает высокоуровневый JavaScript API для обработки и синтеза звука в веб-приложениях. Основная парадигма - это граф маршрутизации звука, в котором несколько объектов AudioNode соединены вместе, чтобы определить общий рендеринг звука. Фактическая обработка в основном будет происходить в базовой реализации (обычно это оптимизированный код Assembly / C / C ++), но также поддерживается прямая обработка и синтез JavaScript.[25]
Браузер Mozilla Firefox реализует аналогичное расширение API аудиоданных начиная с версии 4, реализованное в 2010 г. [26] и выпущен в 2011 году, но Mozilla предупреждает, что он нестандартный и устаревший, и рекомендует вместо него Web Audio API.[27]Некоторые библиотеки обработки и синтеза звука JavaScript, такие как Аудиолет поддерживают оба API.
В Рабочая группа W3C Audio также рассматривает MediaStream Processing API спецификация разработана Mozilla.[28]Помимо микширования и обработки звука, он охватывает более общую потоковую передачу мультимедиа, включая синхронизацию с элементами HTML, захват аудио- и видеопотоков и одноранговая маршрутизация таких медиапотоков.[29]
Поддерживающие браузеры
На ПК:
- Гугл Хром 10[30] (Включено по умолчанию с 14[31])
- Fire Fox 23 (по умолчанию активирован с 25)
- Опера 15
- Сафари 6
- Microsoft Edge 12
На мобильных устройствах:
- Гугл Хром для Android 28 (по умолчанию активирован с 29)
- Сафари 6 (Имеет ограничения на использование (Без звука, если пользователь не вызвал))
- Fire Fox 23 (по умолчанию активирован с 25)
- Tizen
Web Speech API
В Web Speech API стремится предоставить альтернативный метод ввода для веб-приложений (без использования клавиатуры). С помощью этого API разработчики могут дать веб-приложениям возможность транскрибировать голос в текст с микрофона компьютера. Записанный звук отправляется на речевые серверы для транскрипции, после чего текст печатается для пользователя. Сам API не зависит от базовой реализации распознавания речи и может поддерживать как серверные, так и встроенные распознаватели.[32]В Группа HTML Speech Incubator предложил реализацию аудио-речевой технологии в браузерах в виде унифицированных межплатформенных API. API содержит:[33]
- Речевой ввод API
- Текст в речь API
Google интегрировал эту функцию в Google Chrome в марте 2011 года.[34] Разрешить своим пользователям искать в Интернете своим голосом с помощью кода вроде:
<сценарий тип="приложение / javascript"> функция начать поиск(мероприятие) { мероприятие.цель.форма.Разместить(); }</сценарий><форма действие="http://www.google.com/search"> <Вход тип="поиск" имя="q" речь требуется onspeechchange="начать поиск"></форма>
Поддерживающие браузеры
- Сафари 6.1 и выше [ЧАСТИЧНО: только синтез речи; нет признания]
- Гугл Хром 25 и старше
- Fire Fox Desktop 44.0 и выше (Linux и Mac) / 45.0 и выше (Windows) [ЧАСТИЧНО: только синтез речи; нет признания; в настоящее время требует, чтобы параметр "media.webspeech.recognition.enable" about: config был вручную изменен на "true"][35][36][37]
Смотрите также
Примечания
- ^ а б Нет встроенной поддержки кодека AAC по причинам лицензирования. Для декодирования аудиофайлов ОС хоста должна предоставить совместимую библиотеку.[15]
- ^ Файл MPEG-4 содержит заголовок, который включает метаданные за которыми следуют «дорожки», которые могут включать как видео, так и аудиоданные, например, видео в кодировке H.264 и аудио в кодировке AAC. ADTS, напротив, представляет собой потоковый формат, состоящий из серии кадров, каждый из которых имеет заголовок, за которым следуют данные AAC.[6]
Рекомендации
- ^ "Аудиоэлемент HTML5 - W3C". Архивировано из оригинал на 2013-06-06. Получено 2013-07-02.
- ^ https://www.w3.org/wiki/HTML/Elements/audio
- ^ а б Об аудио и видео HTML5 - Руководство по аудио и видео Safari HTML5
- ^ Можно ли воспроизвести этот поток с помощью HTML5 / javascript?
- ^ Контейнер MP4 · Проблема № 95 · karlheyes / icecast-kh · GitHub
- ^ а б https://developer.apple.com/library/ios/technotes/tn2236/_index.html#//apple_ref/doc/uid/DTS40008748-CH1-SECTION5
- ^ https://bugzilla.mozilla.org/show_bug.cgi?id=1224887
- ^ https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements
- ^ https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements#Ogg_Opus
- ^ https://www.xiph.org/press/2012/rfc-6716/
- ^ https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/
- ^ «Поддержка WebM, VP9 и Opus в Microsoft Edge - Блог разработчиков Microsoft EdgeБлог разработчиков Microsoft Edge». blogs.windows.com. Получено 2017-03-22.
- ^ а б "Включить поддержку mp3 в Chromium". Google. Получено 2018-05-01.
- ^ «Примечания к выпуску Firefox 71.0». Mozilla. 3 декабря 2019.
- ^ «Руководство по типам и форматам мультимедиа: изображения, аудио и видео». Сеть разработчиков Mozilla. Mozilla. Получено 2019-12-06.
- ^ а б https://developer.microsoft.com/en-us/microsoft-edge/status/vorbisaudiocodec/
- ^ а б c d е «Представляем пакет расширения веб-медиа с поддержкой OGG Vorbis и Theora для Microsoft Edge». Блог разработчиков Microsoft Edge. Microsoft. 5 декабря 2017 года.
- ^ а б https://developer.microsoft.com/en-us/microsoft-edge/status/opusaudioplayback/
- ^ https://www.mozilla.org/en-US/firefox/28.0/releasenotes/
- ^ а б «Поддержка кодека FLAC для . Статус платформы Chrome. Получено 2016-12-27.
- ^ https://developer.microsoft.com/en-us/microsoft-edge/status/flacaudiocodec/
- ^ а б «Firefox 51 для разработчиков». Сеть разработчиков Mozilla. Получено 2016-12-27.
- ^ Хаим Гартенберг (6 июня 2017 г.). «Сообщается, что Apple добавляет поддержку аудио без потерь FLAC в iOS 11». Грани.
- ^ https://developer.microsoft.com/en-us/microsoft-edge/status/oggcontainer/
- ^ Крис Роджерс (15 марта 2012 г.). «API веб-аудио». W3C. Архивировано из оригинал на 2012-03-15. Получено 2012-07-04.
- ^ "API аудиоданных".
- ^ «Представляем расширение Audio API». Сеть разработчиков Mozilla. Mozilla. 2012-03-05. Архивировано из оригинал на 2014-01-16. Получено 2012-07-04.
- ^ «API обработки аудио». W3C. 2011-12-15. Архивировано из оригинал на 2011-12-15. Получено 2012-07-04.
- ^ Роберт О'Каллахан (31 мая 2012 г.). "MediaStream Processing API". W3C. Получено 2012-07-04.
- ^ API веб-аудио теперь доступен в Chrome
- ^ Скотт Гилбертсон (19 сентября 2011 г.). «Chrome 14 добавляет улучшенный звук, поддержка« собственного клиента »». Webmonkey. Проводной. Получено 2012-07-04.
- ^ «Проект API». Получено 28 января, 2012.
- ^ «HTML5 Speech API». Получено 28 января, 2012.
- ^ "Разговор с компьютером". Получено 28 января, 2012.
- ^ «Firefox 44 для разработчиков - Mozilla | MDN». Получено 9 марта, 2016.
- ^ «Firefox - Notes (45.0) - Mozilla». Получено 9 марта, 2016.
- ^ "Web Speech API - Web API | MDN". Получено 9 марта, 2016.