私はWebブラウザでテキストを使用する必要があるアプリケーションを開発しています。私はHTML5音声合成を使っています。 Google Chromeでは、| getVoices()|を使用して使用可能なすべての音声がリストされた状態で、コードは正常に動作しますが、Firefoxでは音声がまったく表示されません。 Firefox 56.0(Ubuntu)で自分のコードをテストしています。SpeechSynthesis.getVoices()はFirefoxの音声を表示しません
インターネットで検索すると、getVoices()関数を| onVoiceChanged |関数の後に呼び出す必要があることが示唆されたStackOverflow answerが見つかりました。イベント
window.speechSynthesis.onvoiceschanged = function() {
window.speechSynthesis.getVoices();
...
};
私は上記の方法で呼び出しを行い、Chromeでは必要に応じて動作しますが、Firefoxでは動作しません。 media.webspeech.synth.enabled |
別のStackOverflowの答えは、私は有効にすることを示唆し| about:Firefoxの設定では、私のFirefoxでは設定| media.webspeech.synth.enabled |すでにtrueに設定されています。
私はMDNドキュメントhttps://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/getVoicesをチェックして、このページの例では、Firefoxで私のために実行されませんが、Chromeで細かい動作します。私はCanIUse.comがSpeechSynthesisをFirefox 55以降でサポートされているとリストしているが、それは私にとってはうまくいきません。
また、音声合成を実証するためにMozillaの開発者向けネットワークによってdemoは私のFirefoxで動作するように失敗したが、Google Chromeで細かい動作します。私は広範にオンラインでソリューションを検索しましたが、見つけられませんでした。誰かがここに正しい方向で私を指してくれますか?
デモはFx ESR 53.3.0とWin 56の現在の56で動作します – myf
'onvoiceschanged'イベントハンドラの外で' .getVoices() 'を呼び出しますか? – guest271314