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

时间:2017-07-05 21:53:35

标签: javascript html5

我是Javascript的初学者。我正在尝试做一个可以播放阵列音频文件的小项目。下面的代码在annyang API中。我的想法是在说出某些单词后等待10秒并播放数组中的第一个元素,然后等待10秒,播放数组的第二个元素,依此类推。因此,我使用for循环,但我不知道为什么,它总是扮演'oh_interesting_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;

我一直在苦苦挣扎2天。无法弄清楚原因。 我打开使用jQuery,Javascript或HTML5。请帮我!! 先感谢您。

1 个答案:

答案 0 :(得分:0)

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

stackoverflow.com/a/27364285/8105243