【发布时间】:2015-08-05 13:11:18
【问题描述】:
我正在开发一个使用 JavaScript 和 html5 音频元素的文本到语音生成器。这个想法是将一串IPA(国际音标)转换成声音。所以在函数talk() 中,我取出字符串并将其拆分。然后我将相应的声音放入queue,我尝试用playQ(q)函数来播放。
但该功能似乎不起作用。我只能让它播放第一个声音。所以q[0].play; 工作正常,但playQ(q) 函数的其余部分不工作。
我认为这可能是因为q.shift() 方法,但我也尝试过q[1:],或者是因为递归性。
function talk(){
var queue = []
var str = document.IPATTS.phonetic.value
var letters = str.split("")
for (x in letters) {
queue.push(document.getElementById(letters[x]))
}
playQ(queue);
}
function playQ(q){
q[0].play();
var z = q.shift();
q[0].onended = function() {playQ(z)};
}
【问题讨论】:
标签: javascript html audio queue