如何在另一个声音结束后播放声音文件?如果我这样做
first.play();
second.play();
两种声音同时播放。我想玩first.play()
,当它结束时,开始second.play()
。
如何在另一个声音结束后播放声音文件?如果我这样做
first.play();
second.play();
两种声音同时播放。我想玩first.play()
,当它结束时,开始second.play()
。
first.addEventListener('ended', function(){
second.play();
});
first.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)
})
我使用了AudioScheduledSourceNode.onended。
我使用了四种声音,并将这段代码放在一个函数中:
sound1.play();
sound1.onended = function () {
sound2.play();
};
sound2.onended = function () {
sound3.play();
};
sound3.onended = function () {
sound4.play();
}
这里是应用程序:insultinator-toy.netlify.app
单击问号按钮。
以及丑陋的源代码的链接。杰萨尔萨