我正试图播放声音,我找到了两种适合我的方法。 哪种方式更好,为什么?添加“加载”事件监听器是个好主意吗?
第一种方式:
$(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();
});
答案 0 :(得分:2)
你真的应该采用第一种方式(使用load
),因为' DOMReady'并不保证声音文件完成下载,就像使用Image一样。
答案 1 :(得分:1)
你真的应该使用一个特征检测系统。我会用Modernizr to test for HTML5 audio。这样,您只是尝试向那些可以使用HTML5获取音频的人提供音频。
如果使用Modernizr找不到,您甚至可以test for HTML5 features和替代替代。这些替代品被称为“polyfill”,Modernizr支持的列表是here。
这样做的好处是,您可以根据浏览器功能覆盖所有基础。我可怜那些傻瓜还在使用IE7。