使用Javascript播放audioelement(html5)

使用Javascript播放audioelement(html5),javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我正试图找出如何触发播放来自javascript的音频。我得到了一些html,看起来像: <div class='audio' >foo <audio preload='auto' controls src='test.wav'> <b>Your browser does not support the audio tag.</b> </audio> </div> 警报('1'+音频);按预期工作,并将音频报告为HTMLA

我正试图找出如何触发播放来自javascript的音频。我得到了一些html,看起来像:

<div class='audio' >foo
<audio preload='auto' controls src='test.wav'>
<b>Your browser does not support the audio tag.</b>
</audio>
</div>

警报('1'+音频);按预期工作,并将音频报告为HTMLAudioElement。然而,警惕(“2”);未调用,因为我得到错误“audio.play”不是函数。我能做些什么来解决这个问题?

您的代码看起来很完美。您遇到的错误是“alert.play”不是函数,或者“audio.play”不是函数

我想

var audio = $(this).find('audio').get();
返回一个数组。请尝试此操作

var audio = $(this).find('audio').get(0);

如果给音频标记一个ID,那么在不使用jQuery的情况下仅使用JavaScript控制音频会更容易:

<audio id="myAudioTagID" type="audio/mpeg" src="sound.mp3"></audio>

您的意思是说您收到一个错误,说明“audio.play”不是一个函数吗?我很确定“alert.play”不是一个函数是正确的,除非你用play方法专门定义了一个新的alert对象。从Firefox Errorconsole复制粘贴:Error:audio.play不是一个函数-这当然是一个很好的问题,但遗憾的是o.OThat确实更有意义-我假设这就是你的意思,但我只是想确定你的实际代码中没有输入错误。谢谢你:D-我现在可以用一些沉重的东西来打击自己,但让它最终运行是一种很好的感觉。
<audio id="myAudioTagID" type="audio/mpeg" src="sound.mp3"></audio>
var audio = document.getElementById("myAudioTagID");
audio.play();
audio.pause();
audio.stop();