Firefox загружает и воспроизводит один и тот же файл .ogv дважды одновременно при использовании «автовоспроизведения».

У меня есть файл ogg vorbis с тегом HTML5 <audio>.
Файл дважды запрашивается Firefox (3.6.13), но с параметром "автовоспроизведение" воспроизводятся оба запрошенных файла.
Когда я делаю паузу , один из треков останавливается, а другой продолжается. Когда я снова нажимаю кнопку воспроизведения, воспроизводятся обе дорожки, хотя теперь они не синхронизированы.

Все прекрасно работает с webkit и Opera.
В Firefox без «автозапуска» файл ogg запрашивается дважды, но воспроизводится только один, и все выглядит нормально. Но мне нужна функция «автозапуска» в этом сценарии.

Мой html:
<audio autoplay controls">
<source src="/media/BetterDays.ogv" type="audio/ogg; codec=vorbis"></source>
<source src="/media/BetterDays.mp3" type="audio/mpeg"></source>
</audio>

Мой jQuery:

if(!!document.createElement('audio').canPlayType) {
    audio = $('audio').get(0);
    $(audio).removeAttr("controls");
    $(audio).bind('play',function() {
      $("#playtoggle").addClass('playing');   
    }).bind('pause ended', function() {
      $("#playtoggle").removeClass('playing');    
    });   

    $("#playtoggle").click(function() {     
      if (audio.paused) { audio.play(); } 
      else { audio.pause(); }     
    });  

Я очень ценю любую помощь, которую можно предложить. Спасибо.


person tomek    schedule 10.02.2011    source источник
comment
У меня такая же проблема. Это происходит только в Firefox, и когда я отключаю автозапуск видео, проблема исчезает. Удалось ли вам решить эту проблему с момента публикации?   -  person Bringo    schedule 22.04.2011
comment
Я просто отключил автовоспроизведение и запустил его при загрузке документа с помощью jquery: set audio.play() на $(document).ready   -  person tomek    schedule 07.05.2011
comment
Один вопрос, который может быть глупым... Почему вы объявляете элементы управления для элемента audio и удаляете их позже?   -  person Rorok_89    schedule 24.10.2012


Ответы (1)


сделайте это так, теги html 5 все еще немного глючат, но старый ХОРОШИЙ javascript сделает свое дело

<script>
give your audio tag an id, in my example it will be audiobox

function play() {
    document.getElementById('audiobox').play();
  }
  play();
 </script>
person Dnaso    schedule 11.11.2012