Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTML5和Javascript播放声音的最佳方式_Javascript_Jquery_Html_Html5 Audio - Fatal编程技术网

使用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()中,音频的网络源如何?