SpeechFynthesis在FireFox中第一次发声后停止工作,但在Chrome中有效

时间:2017-11-13 22:35:35

标签: javascript google-chrome firefox text-to-speech speech-synthesis

问题非常简单,请参阅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);

1 个答案:

答案 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'));