こんにちは、コンテンツクリエイターのともすけです。
この記事は、Android OSに標準で組み込まれている音声合成エンジン TextToSpeech(以降TTS)に関して書いています。
いきなり結論
はい、TTSのフル機能を問題なく使うためには、以下のコードをマニフェストファイルに入れてください。筆者は、<manifest>タグと<application>タグの間に入れました。パーミッションを指定するところと同じです。
1 2 3 4 5 |
<queries> <intent> <action android:name="android.intent.action.TTS_SERVICE" /> </intent> </queries> |
筆者の開発用スマホ「AQUOS Sense3 lite(Android11)」にて、KDDIのN2TTSを入れていてTTSエンジンの指定もしているのにGoogleの声しか出なく、いろいろ調べていたら出会った解決策です。
Apps targeting Android 11 that use text-to-speech should declare TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE in the queries elements of their manifest:
https://developer.android.com/reference/android/speech/tts/TextToSpeech#TextToSpeech(android.content.Context,%20android.speech.tts.TextToSpeech.OnInitListener,%20java.lang.String)
Googleが「入れて」と言うので入れたところ、N2TTSの問題が「たまたま」解決しました。
短いですが、このへんで。