使用HTML5和Javascript播放声音的最佳方式
我试着播放一种声音,我找到了两种适合我的方法。 哪种方法更好?为什么?添加“加载”事件侦听器是个好主意吗 第一种方式:使用HTML5和Javascript播放声音的最佳方式,javascript,jquery,html,html5-audio,Javascript,Jquery,Html,Html5 Audio,我试着播放一种声音,我找到了两种适合我的方法。 哪种方法更好?为什么?添加“加载”事件侦听器是个好主意吗 第一种方式: $(document).ready(function() { var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'sound.ogg'); audioElement.addEventListener("load", function()
$(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();
});
你真的应该为此使用一个特征检测系统。我会用它。那样的话,你只是想把音频提供给那些可以通过HTML5获得音频的人 如果使用Modernizer找不到替代方案,您甚至可以选择使用它。这些替代品被称为“polyfills”,并列出了Modernizer支持的这些替代品的列表
这样做的好处是,您涵盖了浏览器功能方面的所有基础。我很同情那些还在使用IE7的傻瓜。你真的应该使用第一种方法(使用
加载
),因为“DOMReady”不能保证声音文件完成下载,就像使用图像一样 我知道Modernizer,但我尝试在IE中播放声音,我使用html5shiv脚本来代替Modernizer,但初始化音频文件的更好方法是什么<代码>新音频('sound.ogg')或document.createElement('audio')代码>?如果两者相同,则都将创建一个新的HTMLAudioElement
。然而,newaudio()
构造函数是旧方法(从DOM1之前开始),而document.createElement()
是新方法(DOM2);无法将使用new Audio()
创建的元素附加到文档中newaudio('sound.ogg')
是var a=newaudio()的快捷方式;a、 src='sound.ogg'代码>。好的,我在这里做了一个测试,在case new audio()中,音频的网络源如何?