Каковы ограничения 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.