0

トークバックで話せる言語の一覧を表示したい。検索すると、追加のRecognizerIntent.EXTRA_SUPPORTED_LANGUAGESでブロードキャストを受信することで、利用可能な音声を取得する方法が見つかりました。しかし、ここでは、英語 (アメリカ) などの特定の声について、トークバック アプリケーションで読み上げ/話せる地元の人の数を知りたいと考えています。

例 - アクセシビリティを有効にし、音声として英語を選択すると、多くのデバイス ローカル (翻訳) を読み取ることができますが、一部を読み取ることができません。1 つの音声でサポートされているローカルの数を調べる方法はありますか。

4

1 に答える 1

0

TalkBack は、インストールされているテキスト読み上げ (TTS) エンジンを使用して、自分で話すのではなく、Pico などの音声出力を生成します。

Android での Text-To-Speech の紹介では、TTS エンジンを使い始めることができます。次に、エンジンがどの言語をサポートしているかをエンジンに問い合わせる必要がありますTextToSpeech.isLanguageSupported(Locale)- Android docsを参照してください。

電話機も をサポートしている必要がLocaleあるため、 を使用してそれLocale.getAvailableLocales()を判断します。ロケールは言語であり、オプションで国とバリアントを関連付けることができます。

サポートされているロケールの完全なリストを取得するには、次を使用します。

TextToSpeech tts = new TextToSpeech(context, listener);
for (Locale locale : Locale.getAvailableLocales()) {
    if (tts.isLanguageSupported(locale)) {
       // spoken language supported
    }
}

最後に、あなたの例では、このリストを言語でフィルタリングする必要があります。つまりLocale.getLanguage()、どれが英語であるかを判断する必要があります (あなたの場合)。

于 2014-08-05T16:45:32.990 に答える