まずヒンディーtextospeechをサポートしていてもテキスト読み上げの音声言語としてヒンディー語を設定することができません、とスピーチエンジンへのテキストを設定しますヒント:Androidのテキストと音声の設定コードに変更を加えることなく、ヒンディー語で話すことができます。そうでない場合は、ログ出力を調べて問題があるかどうかを確認してください。
次に、ロケールを設定しようとしない場合、isLanguageAvailable()はTextToSpeech.LANG_AVAILABLEを返します。他にも多くの可能な対応があります。以下の2つのcase switch文のログ出力を確認してください。
final Locale loc = new Locale("hin", "IND");
// switch(tts.isLanguageAvailable(loc)){
switch(tts.setLanguage(loc)){
case TextToSpeech.LANG_AVAILABLE:
Log.i("TAG", "LANG_AVAILABLE");
break;
case TextToSpeech.LANG_COUNTRY_AVAILABLE:
Log.i("TAG", "LANG_COUNTRY_AVAILABLE");
break;
case TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE:
Log.i("TAG", "LANG_COUNTRY_VAR_AVAILABLE");
break;
case TextToSpeech.LANG_MISSING_DATA:
Log.i("TAG", "LANG_MISSING_DATA");
break;
case TextToSpeech.LANG_NOT_SUPPORTED:
Log.i("TAG", "LANG_NOT_SUPPORTED");
break;
}
注意してください、isLanguageAvailable()
への応答は、悪名高い信頼性が低いです。理由はmy edit on the answer hereを参照してください。
は最後に、あなたが戻ってきた
onInit()
後TTSオブジェクトの言語を設定していることを確認してください
SUCCESS
t1はtexttospeechオブジェクトです –
[Text to Speech Locale Hindi Indian](http://stackoverflow.com/questions/21598587/text-to-speech-locale-hindi-indian) – brandall
私はそのコードを試しましたまた、ヒンディー語を設定することはできませんが、それ以上のものを投稿したり、サンプルコードを与えることはできますか –