我已经将音频添加到网页中,一旦加载就可以播放,这在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,则没有任何反应。
答案 0 :(得分:0)
我不确定Chrome可以通过自动播放搞笑的原因。我倾向于不相信它。这不是你的问题的真正答案,而是解决问题的方法。
而不是在音频控件上使用autoplay
属性。在元素上使用canplay
事件。
var audio = document.getElementById("audioId");
audio.oncanplay = function(){
audio.play();
}
audio.load();
当canplay
事件被触发时,请在音频元素上调用play()
以开始播放。你正在创建自己的自动播放。请记住,除非您删除该事件,否则只要音频控件加载新文件并播放音频,该事件就会被触发。我倾向于使用这种方法在播放音频/视频时为我提供更多灵活性。