使用Javascript播放音频元素(html5)

Using Javascript to play an audioelement (html5)

本文关键字:html5 元素 音频 Javascript 播放 使用      更新时间:2023-09-26

我正试图弄清楚如何触发从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"不是函数。我能做些什么来解决这个问题?

您的代码看起来非常完美。你得到的错误是"alert.play"不是一个功能,或者"audio.play"不是一种功能。

我认为

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

返回一个数组尝试这个

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

如果给音频标签一个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();