2017-10-07 3 views
1

私は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で細かい動作します。私は広範にオンラインでソリューションを検索しましたが、見つけられませんでした。誰かがここに正しい方向で私を指してくれますか?

+0

デモはFx ESR 53.3.0とWin 56の現在の56で動作します – myf

+0

'onvoiceschanged'イベントハンドラの外で' .getVoices() 'を呼び出しますか? – guest271314

答えて

0

は、同じ問題に遭遇し、ここで私は考え出したものです。

  • は、Windowsが動作するのVirtualBox上のFirefoxのUbuntu 16.04
  • に私のために動作しません。声はWindowsから来ます。 「Microsoft David」が選択肢の1つです。
  • ChromeはUbuntuで動作しますが、オンラインの場合にのみ動作します。コンソールにはトラフィックは表示されませんが、音声はオンラインでのみ機能します。
関連する問題