TTS for bangla content works fine in my Nexus 5x, but not others phone. In other i.e. Samsung phone can speak only english words but skip(not speak) bangla words.
Can anybody fetch this type of problem, please help me.
Thanks.
Code:
@Override
public void onInit(int i) {
if (i == TextToSpeech.SUCCESS) {
int result = mTextToSpeech.setLanguage(new Locale("bn_IN"));//https://stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android
floatRead.setImageResource(R.drawable.ic_volume_off);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.i("TTS", "This Language is not supported");
AppApplication.getInstance().showToast("This Language is not supported");
}
read(mNewsDetails.title, true);
read(mNewsDetails.plain_text, false);
} else {
floatRead.setImageResource(R.drawable.ic_read);
}
}
`
void read(String text, boolean flush) {
if (flush == true) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
mTextToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null, null);
else
mTextToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null);
} else {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP)
mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null, null);
else
mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null);
}
}
`
Its working.
Try to set language & work fine for me.
@Override public void onInit(int i) { ..........
int result = mTextToSpeech.setLanguage(new Locale("bn_IN"));
ref: for language [What is the list of supported languages/locales on Android?
thanks u all.