Jak grać plik dźwiękowy po kolejnym końcu dźwięku? Jeśli to zrobię

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

Obie dźwięki grają w tym samym czasie. Chcę grać first.play() i kiedy się skończy, uruchamia second.play().

3
ptamzz 26 sierpień 2012, 10:00

3 odpowiedzi

Najlepsza odpowiedź
first.addEventListener('ended', function(){
    second.play();
});
first.play();
4
TheHe 26 sierpień 2012, 06:02

Polecam coś takiego:

// 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();
        }
    });
});
0
TheHe 10 lipiec 2016, 23:53

Możesz także użyć obietnicy z limitem czasu:

const playPromise = first.play()

playPromise.then(() => {
    setTimeout(() => {second.play()}, first.duration * 1000)
})
0
jo3rn 7 maj 2019, 07:05