Воспроизведение аудио html5 в браузере Android - PullRequest
20 голосов
/ 18 июня 2010

У меня есть JavaScript, который воспроизводит аудио в браузере, используя тег html5 <audio>. Он отлично работает в браузере iPhone, но не в Android. (Тестирование с использованием HTC Desire с Android 2.1.) Кто-нибудь знает, почему?

Мой код:

   function playHTML5(sound, soundcv){
                // sound = url to m4a audio file
                // soundcv = div in which the audioplayer should go

  var audio = document.createElement('audio');
  audio.src = sound;
  audio.controls = "controls";
  if (currentSound != null){
   soundcv.replaceChild(audio,currentSound);
  } else {
   soundcv.appendChild(audio);
  }
  currentSound = audio;
 }

Кстати, я также пытаюсь увеличить кнопку аудио, которая появляется в iphone (по умолчанию она довольно маленькая), но пока безуспешно - буду благодарен за любые идеи!

Ответы [ 8 ]

14 голосов
/ 14 июля 2010

Последний браузер Android во FroYo пока не поддерживает аудиоэлемент HTML5.Это не ошибка, скорее функция, которая еще не реализована.Может быть в Gingerbread.

Обновление: в браузере Gingerbread есть аудио элемент.

13 голосов
/ 19 декабря 2010

Вот ссылка на ошибку Google Android, которая подана из-за отсутствия поддержки тега AUDIO в Android Пожалуйста, проголосуйте за него.

http://code.google.com/p/android/issues/detail?id=10546

Кстати, есть обходной путь, который позволяет воспроизводить MP3 в Android 1.6 .. 2.2, например:

<video src="test.mp3" onclick="this.play();"></video>
4 голосов
/ 23 сентября 2010

Я тоже не могу понять это. НО, эта тестовая страница, созданная Apple, воспроизводит звук HTML5 на Android: http://www.apple.com/html5/showcase/audio

как это сделал яблоко?

1 голос
/ 23 августа 2012

Я работал над проектом, используя trigger.io , развертываемый на Nexus 7 под управлением Android Jellybean, но звук воспроизводится только при использовании абсолютных URL-адресов в данный момент. Я не уверен, каков относительный путь использования звука из моего проекта, но, надеюсь, это кому-нибудь поможет ...

(function() {

    var currentSound;
    // I have a div called "page"
    var soundcv = document.body;

    // This only works for one sound for simplicity's sake
    function playSound(sound){

        if (currentSound == null){
            var audio = document.createElement('audio');
            audio.src = sound;
            soundcv.appendChild(audio);
            currentSound = audio;
        }

        currentSound.play();
    }

    // This isn't a real audio file URL - replace it with one of your own
    playSound('http://example.com/example.mp3');
})();
1 голос
/ 06 мая 2012

У меня были проблемы с моим Kindle Fire, и я обнаружил одну маленькую вещь, которая, похоже, исправила это.

<audio>
  <source src="someclip.mp3" type="audio/mpeg" />
</audio>

Я по ошибке использовал «аудио / mp3».Я использую плеер без встроенных элементов управления (используя HTML5 / JS).

1 голос
/ 18 июня 2010

Вы проверили аудиоформат ?

0 голосов
/ 09 октября 2013

Я знаю, что это хак, но он работает везде (насколько я знаю)!

Вы можете использовать элемент video и конвертировать ваши mp3 в mp4 и ogg файлы (ogg для firefox на android),Вы также можете оформить его так, чтобы он не отображал ненужных игроков по умолчанию.См. Код ниже:

<video id="audioTest" width="1" height="1" style="top: -100px; left: -100px; position: absolute;" preload >
    <source src="audio.mp4" type="video/mp4">
    <source src="audio.ogv" type="video/ogg">
</video>

Затем вы можете воспроизвести его в своем коде js, используя:

var audioTest = document.getElementById("audioTest");
audioTest.addEventListener("ended",onSoundComplete,false);
audioTest.play();
0 голосов
/ 11 февраля 2013

Я целый день возился с этим и наконец-то заставил себя работать над моим старым браузером Samsung Droid с веб-плеером yahoo:

<a href="somefolder/file.mp3"></a>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player.js"></script>

Отлично работает, ставит небольшую иконку со стрелкой рядом с текстомчто вы можете нажать, чтобы воспроизвести свой mp3.Спасибо Yahoo.

Я забыл упомянуть, что звук НЕ отображается в моем браузере Chrome или Firefox при локальном тестировании.Прекрасно работает в браузере моего телефона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...