Аудиотег HTML5 не работает в Android

Я создал образец приложения для разрыва телефона для Android ics. И в index.html есть такой аудиотег.

<audio id="player1" controls preload><source src="media/track1.mp3" type="audio/mp3" /></audio>

Я вообще не могу воспроизвести звук. Я видел сообщения о переполнении стека везде, где упоминалось, что тег audio будет работать нормально после выпуска froyo. Но я тестирую его в Gingerbeard и в ICS, и он нигде не работает.


person karthick    schedule 27.08.2012    source источник
comment
Посмотрите, что поддерживает браузер: html5test.com/compare/browser/android40.html   -  person Søren Lorentzen    schedule 27.08.2012
comment
@NicholasAlbion: HTC wildfires и HTC one V. Браузер по умолчанию для Android   -  person karthick    schedule 27.08.2012
comment
Обратите внимание, что браузером по умолчанию на телефонах HTC (может быть, на всех Android?) является не Chrome. Chrome поддерживает PCM, AAC, Ogg и WebM, а браузер по умолчанию — нет.   -  person Nicholas Albion    schedule 27.08.2012
comment
@NicholasAlbion: хорошо. Извините, я забыл упомянуть, что я использую веб-просмотр, чтобы увидеть HTML.   -  person karthick    schedule 27.08.2012


Ответы (5)


Поддержка HTML5 Audio неодинакова на разных устройствах/ОС из-за проблем с лицензированием кодеков и реализацией/поддержкой ОС. Если вы просто воспроизводите файлы MP3, вы можете надежно обрабатывать их с помощью Media класс, который обеспечит последовательное и надежное звуковое программирование на всех платформах.

Если вам нужна возможность предварительной загрузки звука и более сложные сценарии, такие как полифония или наслоение (например, эффекты видеоигр), вы можете использовать LowLatencyAudio Собственный плагин PhoneGap.

person Andrew Trice    schedule 27.08.2012

Очень поздно для этого, но type="audio/mp3" неправильно - должно быть type="audio/mpeg"

С учетом сказанного, Android по-прежнему ужасно воспроизводит звук HTML5 — вам необходимо сбросить атрибут src перед воспроизведением звуков (иначе они будут воспроизводиться только один раз), и он не терпим к нескольким типам файлов (требуется для других браузеров). Они также не поддерживают WebAudioAPI.

person Community    schedule 27.11.2012

Согласно html5test.com Android 4 поддерживает только mp3 в теге audio.

person roncsak    schedule 27.08.2012
comment
Вы можете попробовать использовать атрибут управления полностью: - person roncsak; 27.08.2012
comment
Воспроизводимый вами mp3 находится на SD-карте Android или где-то еще? - person roncsak; 27.08.2012
comment
Тогда ссылка на этот файл, вероятно, неверна. Подробнее об этом читайте здесь: stackoverflow .com/questions/1209469/ - person roncsak; 27.08.2012

Жаль, что я ответил с некоторыми выводами ранее.

Следующее, кажется, работает для меня. Android кажется очень озабоченным тем, какой источник будет первым. Итак, у меня был источник «mp3», как в третьей строке, и я переместил его вверх, так что теперь он точно работает. Элементы управления = элементы управления, потому что без него IE 11 не работал на обычном ПК. Мои мысли по этому поводу. Пришлось сделать копию в ogg, чтобы Firefox ее распознал.

<audio controls="controls">
<source src="/somefile.mp3" type="audio/mpeg"></source>
<source src="/somefile.ogg" type="audio/ogg">   
Your browser does not support the audio element.
</source></audio>
person Moises    schedule 03.03.2015
comment
Привет @moises, есть проблема с приведенным выше кодом. Это выдает ошибку для меня как ‹source src=audios/Ganna/songs.mp3 type=audio/mpeg›[ERROR -›]‹/source› ЭТО должно быть так- - person S.Yadav; 10.09.2016
comment
Просто удалите ‹/source› из последнего. - person S.Yadav; 10.09.2016

Похоже, путь к вашему mp3 указан неверно. Если этот файл находится на SD-карте, путь будет примерно таким:

file:///sdcard/media/track1.mp3
person Simon MacDonald    schedule 27.08.2012
comment
Но я использую тег html. Так будет ли это работать. ‹audio id=player1 управляет предварительной загрузкой›‹source src=file:///sdcard/media/track1.mp3 type=audio/mp3 /›‹/audio› - person karthick; 27.08.2012
comment
@karthick, попробуй. Текущий путь, указанный вами для аудиотега, не будет работать, если аудиофайл находится на SD-карте. Это я точно знаю. - person Simon MacDonald; 28.08.2012