質問: new SpeechSynthesisUtterance(); の記述があるとAndroidのデバッガのみでエラーが発生します。 ・画面上のプレビュー ・iPhone6のデバッガーアプリ ではちゃんと声が出るのですが、 Androidのデバッガーアプリでは以下のエラーが出ます。 ``` Uncaught ReferenceError: SpeechSynthesisUtterance is not defined ``` SpeechSynthesisUtteranceが未定義ということのようですが、 どうにかAndroidアプリ内にテキストトゥスピーチの機能を実装する方法はないでしょうか? 何か良いアイデアをお持ちの方はご連絡よろしくお願いします。
回答: 個人で同様のアプリを作っています。 ちょうど同じような問題にあたり、下記の環境を整えたことで解決しました。 〇ttsプラグイン を導入(外部プラグインなので、有料プランが必要です) 〇crosswalkプラグインを導入 バージョンは現状最新の、プラグインバージョン2.3.0、crosswalkバージョン23.53.589.4、ARM (私のテスト端末では入れなくても動きましたが、SpeechSynthesisUtteranceは端末のバージョンによっては動かないため、バージョンギャップを考慮するなら、入れておいたほうがいいでしょう) 〇GOOGLEテキスト読み上げ を端末にインストール、設定画面から使用する言語をダウンロード ``` //cordovaが読み込まれた後に発火するようにしてください function speak(text){ TTS .speak({ text: text , locale: 'ja-JP',//日本語の場合 rate: 1 }, function () { alert('success'); }, function (reason) { alert(reason); }); } ```