質問: function (event) { console.log('喋った時間:' + event.elapsedTime + 's'); } }); });
回答: voices[7] が日本語だと決めつけているようですが、ブラウザや OS によって異なり、同じ Chrome でさえバージョンアップによって変化しています。 その都度 speechSynthesis.getVoices() から lang が 'ja-JP' のものを抜き出して使うのが肝要かと思います。 ちなみに、Windows版Chromeでは現在日本語は2つ入っていると思うので、どちらかを選ぶことになります。 また、ボイスは時間差で有効になったりするので onvoiceschanged を使いましょう。