3

如何在另一个声音结束后播放声音文件?如果我这样做

first.play();
second.play();

两种声音同时播放。我想玩first.play(),当它结束时,开始second.play()

4

4 回答 4

4
first.addEventListener('ended', function(){
    second.play();
});
first.play();
于 2012-08-26T06:02:58.120 回答
0

我会推荐一些东西:

// if using jQuery:
var audios = $('audio');

audios.each(function(idx){
    $(this).bind('ended', function(){
        var next = audios.get(idx+1);
        if(next){
            next.get(0).play();
        }
    });
});
于 2016-07-10T23:53:20.100 回答
0

您还可以使用带有超时的承诺:

const playPromise = first.play()

playPromise.then(() => {
    setTimeout(() => {second.play()}, first.duration * 1000)
})
于 2019-05-07T07:05:21.903 回答
0

我使用了AudioScheduledSourceNode.onended

我使用了四种声音,并将这段代码放在一个函数中:

sound1.play();
sound1.onended = function () {
    sound2.play();
};
sound2.onended = function () {
    sound3.play();
};
sound3.onended = function () {
    sound4.play();
}

这里是应用程序:insultinator-toy.netlify.app

单击问号按钮。

以及丑陋的源代码的链接。杰萨尔萨

于 2021-08-25T21:22:43.433 回答