使用Javascript播放音频文件的数组序列

使用Javascript播放音频文件的数组序列,javascript,html,Javascript,Html,我是Javascript的初学者。我正在做一个小项目,可以连续播放阵列音频文件。下面的代码位于annyang API内部。我的想法是在说了一些特定的单词后等待10秒,然后播放数组中的第一个元素,然后等待10秒,播放数组中的第二个元素,依此类推。因此,我使用for循环,但我不知道为什么,它总是播放第三个元素“oh_interest_why” var playList = ["tell_me_more", "why", "oh_interesting_why"]; var dir = "sound

我是Javascript的初学者。我正在做一个小项目,可以连续播放阵列音频文件。下面的代码位于annyang API内部。我的想法是在说了一些特定的单词后等待10秒,然后播放数组中的第一个元素,然后等待10秒,播放数组中的第二个元素,依此类推。因此,我使用for循环,但我不知道为什么,它总是播放第三个元素“oh_interest_why”

var playList = ["tell_me_more", "why", "oh_interesting_why"];

var dir = "sound/";
var extention = ".wav";
var i;
var agent = navigator.userAgent.toLowerCase();

if (agent.indexOf('firefox') != -1 || agent.indexOf('opera') != -1) {
  extention = ".wav";
}

//audio = new Audio();

for (i = 0; i < playList.length; i++) {
  audio = new Audio();
  //audio = dir + playList[i] + extention;
  audio.src = dir + playList[i] + extention;
  audio.load();
  setTimeout(function() {
    audio.play();
  }, 10000);
}

audio.loop = false;
var playList=[“告诉我更多”、“为什么”、“哦,为什么有趣”];
var dir=“sound/”;
变量扩展=“.wav”;
var i;
var agent=navigator.userAgent.toLowerCase();
if(agent.indexOf('firefox')!=-1 | | agent.indexOf('opera')!=-1){
扩展=“.wav”;
}
//音频=新音频();
对于(i=0;i
我已经和is斗争了两天了。不知道为什么。 我愿意使用jQuery、Javascript或HTML5。请帮帮我!!
先谢谢你

我通过使用onended函数来解决这个问题。下面的链接是解决方案


stackoverflow.com/a/27364285/8105243

我通过使用oneded函数计算出来。谢谢你回复Shane。