SpeechSynthesis перестает работать после первого произнесения в FireFox, но работает в Chrome

Проблема очень проста, см. 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);

person M3RS    schedule 13.11.2017    source источник


Ответы (1)


На самом деле это известная ошибка в Firefox.

Черновики спецификаций по-прежнему не очень ясны в отношении ре- удобство использования высказывания, но вы можете увидеть эту проблему на github w3c, где они сошлись на том, что так и должно быть.

На данный момент одним из обходных путей является создание нового высказывания каждый раз...

var synth = window.speechSynthesis;

synth.speak(new SpeechSynthesisUtterance('hello'));
synth.speak(new SpeechSynthesisUtterance('hello'));
synth.speak(new SpeechSynthesisUtterance('hello'));

person Kaiido    schedule 14.11.2017