我正在尝试编写一个程序,该程序将带一个句子并播放每个单词的声音片段。我对于stackoverflow和javascript/html很新,所以我很抱歉,这种格式是垃圾。我遇到了单词一起播放的问题,为了解决这个问题,我添加了一个.onended(),但是这只能修复前两个单词,并且使用循环无法工作。感谢您的任何帮助。这是我目前:一个接一个地播放音频
<body>
What would you like me to say?
<input type="text" id="words"/>
<script>
document.getElementById('words').addEventListener('keypress', function (e) {
if (e.which === 13) {
\t \t var sentence = document.getElementById("words").value;
\t \t var splitted = sentence.split(" ");
\t \t var length = splitted.length;
\t \t var i = 1;
\t \t var sp = new Audio (splitted[0] + '.m4a');
\t \t sp.play();
\t \t sp.onended=function(){
\t \t \t if(i<length){
\t \t \t var sp = new Audio (splitted[i] + '.m4a');
\t \t \t sp.play();
\t \t \t i++;
\t \t \t }
\t \t }
}
});
而这就是我收到了,当我循环所有这些,他们都一起玩:
for(i=0;i<length;i++){
var sp = new Audio(splitted[i] + 'm4a');
sp.play();
}
只是检查。 Java是否涉及?或者这是所有的JavaScript。如果没有Java,则可以像Java语言那样删除javasound标记。 –