我想根据队列顺序在我的网页上播放多个声音文件,例如我有1.wav 2.wav 3.wav等队列顺序,然后我有我的数据库来存储每个单词0-9的声音。
我正在尝试创建简单的脚本,只需单击一下按钮即可播放声音。
PLAY-> 1.wav - > END:PLAY-> 2.wav - > END:PLAY-> 3.wav - > END
答案 0 :(得分:3)
我跟你撒谎递归!
//This plays a file, and call a callback once it completed (if a callback is set)
function play(audio, callback) {
audio.play();
if(callback)
{
audio.onended = callback;
}
}
这会获得一个音频对象数组,实际上会阻止队列
function queue_sounds(sounds){
var index = 0;
function recursive_play()
{
if(index+1 === sounds.length)
{
play(sounds[index],null);
}
else
{
play(sounds[index],function(){index++; recursive_play();});
}
}
recursive_play();
}
所以你实际上做了这样的事情:
queue_sounds([new Audio(foo), new Audio(bar), new Audio(lol)]);