我有一个接一个地从动态创建的javascript音频对象播放音频的问题。音频来自谷歌的一系列字符串。
for (i = 0; i < Txt_array.length; i++) {
audio.src ='http://translate.google.com/translate_tts?&tl=en&q='+Txt_array[i];
audio.play();};
我想通过事件监听器执行此操作,还是有其他方法吗?它不只是谷歌,所以我想问你一个通用的解决方案,而不是现成的谷歌语音脚本。
你可以帮帮我吗?我怎样才能一个接一个地播放音频?更新
audio.src='http://translate.google.com/translate_tts?&tl=en&q=' + Txt_array[0];
audio.play();
audio.addEventListener('ended', function(){
for (i = 1; i < Txt_array.length; i++) {
audio.src ='http://translate.google.com/translate_tts?&tl=en&q='+Txt_array[i];
audio.play();};
}, false);
我添加了Eventlistener,我想它应该像这样工作,但我还有一个问题,如果这是第一个播放的文件,Eentlistener不会触发,对吗?
我很乐意得到进一步的支持。
提前谢谢。
答案 0 :(得分:4)
有一个ended事件,您可以更改侦听器中的src
属性。
var strings = "Hello how are you".split(" ");
var index = 1;
audio.src='http://translate.google.com/translate_tts?&tl=en&q=' + strings[0];
audio.play();
audio.onended = function() {
if(index < strings.length){
audio.src='http://translate.google.com/translate_tts?&tl=en&q=' + strings[index];
audio.play();
index++;
}
};