html 使用Javascript播放数组序列音频文件[副本]

kupeojn6  于 2023-03-16  发布在  Java
关注(0)|答案(1)|浏览(148)

此问题在此处已有答案

Java script -All audio plays at once when attempting to play audio one by one in a sequence (through a for loop)(3个答案)
5年前关闭。
我是一个Javascript的初学者。我正在尝试做一个小项目,可以连续播放数组音频文件。下面的代码是在安阳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。请帮助我!!提前谢谢你。

xnifntxz

xnifntxz1#

我用onended函数解决了这个问题。下面的链接是解决方案。
https://stackoverflow.com/a/27364285/8105243

相关问题