HTML5音频在IE中播放,但不在Chrome中播放

时间:2018-05-10 11:42:28

标签: html5 audio

我已经将音频添加到网页中,一旦加载就可以播放,这在Internet Explorer中可以正常工作,但在Google Chrome中却无效。

<audio autoplay>
   <source src="gears_01.ogg" type="audio/ogg">
   <source src="gears.mp3" type="audio/mpeg">
 Your browser does not support the audio element.
</audio>

然后我添加了以下Javascript并为音频元素提供了ID audioId。再次,这在IE中完美运行,但在Chrome中仍然没有任何功能,除非我将 CTRL F5 键一起按下几次,然后chrome将播放音频文件。< / p>

var audio = document.getElementById("audioId");
audio.autoplay = true;
audio.load();

我已经尝试了各种论坛的代码snipets和建议等,但我似乎无法获得chrome来自动播放音频。如果我添加控件很好,它就不会自动播放。

更新: 所以我发现,如果我从链接加载页面然后播放音频,但如果我只输入页面的URL,则没有任何反应。

1 个答案:

答案 0 :(得分:0)

我不确定Chrome可以通过自动播放搞笑的原因。我倾向于不相信它。这不是你的问题的真正答案,而是解决问题的方法。

而不是在音频控件上使用autoplay属性。在元素上使用canplay事件。

    var audio = document.getElementById("audioId");
    audio.oncanplay = function(){
        audio.play();
    }
    audio.load();

canplay事件被触发时,请在音频元素上调用play()以开始播放。你正在创建自己的自动播放。请记住,除非您删除该事件,否则只要音频控件加载新文件并播放音频,该事件就会被触发。我倾向于使用这种方法在播放音频/视频时为我提供更多灵活性。