Каковы ограничения HTML5-аудио на Android и iOS?

Я заметил, что для элемента HTML5 Audio то, что работает с последней версией Chrome для ПК, не обязательно будет работать на браузере по умолчанию в Android, Chrome для Android или Safari на iOS.

Какие существуют ограничения для аудио на этих платформах?

В частности:

  • Какие аудиоформаты поддерживаются на каждой платформе?
  • Для каждой платформы есть событие взаимодействия с пользователем (например, onclick), необходимое для воспроизведения звука из javascript? (через new Audio(url);)
  • Можно ли воспроизводить звук из URI данных на элементе Android и iOS Audio?
  • Существуют ли другие основные ограничения (или ошибки) для HTML5 Audio на этих платформах?

Ответ 1

Резюме

MP3, кажется, лучший выбор для широкого охвата платформы. Он поддерживается новейшими версиями всех основных настольных и мобильных браузеров. (Safari в iOS и Chrome на Android)

В настоящее время воспроизведение через DataURI ограничено в основном настольными браузерами, но скоро станет доступен в Android.

Android (браузер по умолчанию)

Форматы

  • Ogg Vorbis: Да
  • MP3: Да
  • FLAC: Нет (не на 100%)

URI данных

Да

Разрешено автовоспроизведение

ТПГ

Требуется событие взаимодействия с пользователем

ТПГ

Ограничения

  • Полный звук не воспроизводится. (проверено короткими звуками)

Android (Chrome)

Форматы

  • Ogg Vorbis: Да
  • MP3: Да
  • FLAC: Да

URI данных

Да (ошибка, зафиксированная в Chrome 34, которая сейчас находится в бета-версии)

Разрешено автовоспроизведение

Нет (ошибка)

Требуется событие взаимодействия с пользователем

Да

Ограничения

  • Событие "закончился" никогда не срабатывает. (ошибка)
  • Событие "закончился" не имеет пользовательских прав доступа, поэтому звук не может быть привязан. (ошибка)

IOS

Форматы

  • Ogg Vorbis: Нет
  • MP3: Да
  • FLAC: Нет

URI данных

Нет (обходной путь для iOS 6, не известно обходное решение для iOS 6 +)

Разрешено автовоспроизведение

ТПГ

Требуется событие взаимодействия с пользователем

ТПГ

Ограничения

ТПГ


Тестирование формата, выполненное с использованием http://hpr.dogphilosophy.net/test/

Ответ 2

Какие аудиоформаты поддерживаются на каждой платформе?

iOS: аудио AAC, аудио MP3, аудио AIF, аудио WAVE

Safari на iOS (включая iPad) в настоящее время поддерживает несжатые аудио WAV и AIF, аудио MP3 и аудио AAC-LC или HE-AAC. HE-AAC является предпочтительным форматом.

Safari на iOS (включая iPad) в настоящее время поддерживает видео MPEG-4 (профиль базовой линии) и фильмы QuickTime, закодированные с видео H.264 (базовый профиль) и один из поддерживаемых типов аудио.

iPad и iPhone 3G и более поздняя поддержка профиля базовой линии H.264 3.1. Более ранние версии iPhone поддерживают базовый профиль H.264 3.0.

Ссылки:

https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW1

Android: MP3

Ссылка

http://html5test.com/compare/browser/android23/android40/android22.html

Вы можете перейти по этой ссылке, чтобы протестировать поддерживаемый аудиоформат

http://hpr.dogphilosophy.net/test/

Для каждой платформы есть событие взаимодействия с пользователем (например, onclick), необходимое для воспроизведения звука с javascript?

Нет, он также может воспроизводиться автоматически.

http://www.w3schools.com/tags/att_video_autoplay.asp

Можно ли воспроизводить звук из URI данных на элементе Android и iOS Audio?

Вот ссылка, которая объясняет вероятность воспроизведения звука с использованием URI данных

Возможно ли использовать URI данных в видео и аудио тегах?

Существуют ли другие основные ограничения HTML5 Audio на этих платформах?

Вот ссылка, которая объясняет линитации

http://www.ibm.com/developerworks/library/wa-ioshtml5/

http://blog.chenalexander.com/2011/limitations-of-layering-html5-audio/

Ответ 3

  • Какие аудиоформаты поддерживаются на каждой платформе?

Android
IOS

  • Можно воспроизводить звук из URI данных на Android.

Вы можете выполнить это, используя MediaPlayer. Также см. Здесь и здесь для дополнительной информации.
Использование phonegap и cordova, где вы можете воспроизводить и записывать аудио

  • Существуют ли какие-либо другие основные ограничения HTML5 Audio на этих платформах?

См. здесь

P.S. Этот пост больше посвящен Android.