我正试图弄清楚如何触发从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>
我试图通过以下方式触发它:
$(document).ready(function () {
$('.audio').each(function(){
var audio = $(this).find('audio').get();
$(this).click(function(){
audio.volume = 100;
alert('1 '+audio);
audio.play();
alert('2');
});
});
});
提醒('1'+音频);按预期工作,并将音频报告为HTMLAudioElement。但警报('2');没有被调用因为我得到错误'audio.play'不是一个函数。我该怎么做才能解决这个问题?
答案 0 :(得分:7)
您的代码看起来很完美。你得到的错误是“alert.play”不是函数或“audio.play”不是函数。
我认为
var audio = $(this).find('audio').get();
返回一个数组试试这个
var audio = $(this).find('audio').get(0);
答案 1 :(得分:4)
如果您为音频标签提供ID:
,则只需使用JavaScript即可在不使用jQuery的情况下控制音频<audio id="myAudioTagID" type="audio/mpeg" src="sound.mp3"></audio>
然后你可以简单地获取元素并应用.pause(),. start(),stop():
var audio = document.getElementById("myAudioTagID");
audio.play();
audio.pause();
audio.stop();