HTML5中的音频:如何在其他声音之后播放一个声音?

HTML5中的音频:如何在其他声音之后播放一个声音?,html,html5-audio,Html,Html5 Audio,我有三个声音对象: sound_a = new Audio("a.mp3"); sound_b = new Audio("b.mp3"); sound_c = new Audio("c.mp3"); 我想在a音结束后播放b音。当声音b结束时播放声音c 我怎么能做到 我的代码如下: sound_a.pause(); sound_a.currentTime = 0; sound_a.play(); sound_b.pause(); sound_b.currentTime = 0; sound_b

我有三个声音对象:

sound_a = new Audio("a.mp3");
sound_b = new Audio("b.mp3");
sound_c = new Audio("c.mp3");
我想在a音结束后播放b音。当声音b结束时播放声音c

我怎么能做到

我的代码如下:

sound_a.pause();
sound_a.currentTime = 0;
sound_a.play();

sound_b.pause();
sound_b.currentTime = 0;
sound_b.play();

sound_c.pause();
sound_c.currentTime = 0;
sound_c.play();

你可以为你的问题找到答案。如果这没有帮助,请尝试寻找其他解决方案,因为这个问题以前已经被问过并解决过。

您可以找到问题的答案。如果这没有帮助,请尝试寻找其他解决方案,因为这个问题以前已经被问过并解决过。

最简单的方法是,保留一个音频对象、一组源、收听结束事件并播放:

let i = -1, sources =[...], a= new Audio(), playNext= e => {
  i++;
  if(!sources[i]) return;
  a.src=sources[i];
}
a.autoplay = true; 
a.onended = playNext;
playNext();

最简单的方法是,保留单个音频对象、源阵列、收听结束事件并播放:

let i = -1, sources =[...], a= new Audio(), playNext= e => {
  i++;
  if(!sources[i]) return;
  a.src=sources[i];
}
a.autoplay = true; 
a.onended = playNext;
playNext();

非常感谢您!!!如何在正常模式下转换代码?(因为您使用“严格”)非常感谢!!!如何在正常模式下转换代码?(因为您使用“严格”)