Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.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
如何在javascript中播放一个声音文件之后播放另一个声音文件_Javascript - Fatal编程技术网

如何在javascript中播放一个声音文件之后播放另一个声音文件

如何在javascript中播放一个声音文件之后播放另一个声音文件,javascript,Javascript,在另一个声音结束后,如何播放声音文件?如果我喜欢 first.play(); second.play(); 两种声音同时播放。我想先玩。play(),当它结束时,再开始第二个。play()我想推荐一些东西: // if using jQuery: var audios = $('audio'); audios.each(function(idx){ $(this).bind('ended', function(){ var next = audios.get(idx+

在另一个声音结束后,如何播放声音文件?如果我喜欢

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

两种声音同时播放。我想先玩
。play()
,当它结束时,再开始
第二个。play()

我想推荐一些东西:

// 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();
        }
    });
});

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

const playPromise = first.play()

playPromise.then(() => {
    setTimeout(() => {second.play()}, first.duration * 1000)
})

但是,如果我想连续播放许多文件,我会在地狱里寻找回拨。有没有办法介绍.then()类似于承诺的语法?@whamiscore请看一下我使用.then()的答案
const playPromise = first.play()

playPromise.then(() => {
    setTimeout(() => {second.play()}, first.duration * 1000)
})