Web Speech APIを使用して声に出して言いたい言葉がたくさんあります。
単語は、1、2、3、4、5です。
Chrome で言葉を話すとき、以下のスクリプトは最初の言葉を話し、反復が完了するまで最後の言葉を繰り返します。音声出力は次のようになります。
1、5、5、5、5 .
Firefox では、スクリプトは最初の単語を読み上げてから停止します。音声出力は次のようになります。
1つ。
何が起こっているのかを把握するためにコンソールにログを記録しました。これは両方のブラウザからの結果です。
word: one
message: one
word: two
message: two
word: three
message: three
word: four
message: four
word: five
message: five
コンソールへの出力は望ましい音声出力であるため、正確に何が起こっているのかわかりません。
var msg = new SpeechSynthesisUtterance();
var words = ['one', 'two', 'three', 'four', 'five'];
for (var i = 0; i < words.length; i++) {
msg.text = words[i];
console.log('word: ' + words[i]);
console.log('message: ' + msg.text);
window.speechSynthesis.speak(msg);
}
何が原因で、どうすれば修正できますか?