使用HTML5和Javascript播放声音的最佳方式

时间:2011-12-06 00:52:38

标签: javascript jquery html5 html5-audio

我正试图播放声音,我找到了两种适合我的方法。 哪种方式更好,为什么?添加“加载”事件监听器是个好主意吗?

第一种方式:

$(document).ready(function() {  
  var audioElement = document.createElement('audio');  
  audioElement.setAttribute('src', 'sound.ogg');  
  audioElement.addEventListener("load", function(){  
      audioElement.play();  
  }, true);

  audioElement.play();  
});

第二种方式:

$(document).ready(function() {  
  audioElement = new Audio('sound.ogg');  
  audioElement.play();  
});

2 个答案:

答案 0 :(得分:2)

你真的应该采用第一种方式(使用load),因为' DOMReady'并不保证声音文件完成下载,就像使用Image一样。

答案 1 :(得分:1)

你真的应该使用一个特征检测系统。我会用Modernizr to test for HTML5 audio。这样,您只是尝试向那些可以使用HTML5获取音频的人提供音频。

如果使用Modernizr找不到,您甚至可以test for HTML5 features和替代替代。这些替代品被称为“polyfill”,Modernizr支持的列表是here

这样做的好处是,您可以根据浏览器功能覆盖所有基础。我可怜那些傻瓜还在使用IE7。