问题非常简单,请参阅JSfiddle。
SpeechSynthesis在Chrome中运行良好,但在FireFox第一次发声后神秘地停止了。 (在Safari中也适合我。)任何想法都欢迎,因为我没有太多可去的。
代码:
var u = new SpeechSynthesisUtterance();
var synth = window.speechSynthesis;
u.text = "hello";
synth.speak(u);
synth.speak(u);
synth.speak(u);
答案 0 :(得分:0)
这实际上是known bug in Firefox。
The specs drafts对于话语的可重用性仍然不是很清楚,但是你可以在w3c的github上看到this issue,在那里他们就应该这样的事实达成一致。 / p>
目前,一个解决方法是每次创建一个新的话语......
var synth = window.speechSynthesis;
synth.speak(new SpeechSynthesisUtterance('hello'));
synth.speak(new SpeechSynthesisUtterance('hello'));
synth.speak(new SpeechSynthesisUtterance('hello'));