使用'autoplay'时,Firefox会同时加载和播放相同的.ogv文件两次

时间:2011-02-10 07:16:08

标签: firefox html5-audio ogg autoplay

我使用HTML5 <audio>标记设置了ogg vorbis文件 Firefox(3.6.13)请求该文件两次,但是使用'autoplay'选项会播放所请求的两个文件 当我暂停时,其中一个曲目停止但其他曲目继续。当我再次按下播放时,两个音轨都播放,尽管现在不同步。

所有这些都适用于webkit和opera 在没有'autoplay'的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(); }     
    });  

我非常感谢能提供任何帮助。感谢。

1 个答案:

答案 0 :(得分:2)

这样做,html 5标签仍然有点儿马车,但GOOD ol'javascript会做的伎俩

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

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