JavaScript 一个接一个地播放音频 HTML5 [英] JavaScript play audio one after another HTML5
问题描述
我在一个接一个地从动态创建的 javascript 音频对象播放音频时遇到问题.音频来自 Google 的一系列字符串.
I have a problem with playing audio from a dynamically created javascript audio object one after another. The Audio comes from Google over an array of strings.
for (i = 0; i < Txt_array.length; i++) {
audio.src ='http://translate.google.com/translate_tts?&tl=en&q='+Txt_array[i];
audio.play();};
我想通过事件侦听器来执行此操作,或者还有其他方法吗?不只是关于谷歌,所以我想问你一个通用的解决方案,而不是一个现成的谷歌语音脚本.
I would like to do this by an event listener, or is there any other way? It is not just about Google, so I would like to ask you for a general solution, not a ready made google speech script.
你能帮我吗?怎样才能一个接一个播放音频?
Could you help me? How can I play the audio one after another?
更新:
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 不会触发,对吗?
I added the Eventlistener, I guess it should work like this, but I still hae a problem that the Eentlistener does not fire if this is the first file played, right?
我很乐意提供进一步的支持.
I would be happy for further support.
提前致谢.
推荐答案
有一个 结束 事件,您可以更改监听器中的 src
属性.
There is an ended event, you can change the src
property in a listener for it.
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++;
}
};
这篇关于JavaScript 一个接一个地播放音频 HTML5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!