У меня есть этот код для преобразования текста в речь в моем приложении.
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS) {
//Setting speech language
int result = tts.setLanguage(Locale.ENGLISH);
//If your device doesn't support language you set above
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
//Cook simple toast message with message
Toast.makeText(this, "Language not supported", Toast.LENGTH_LONG).show();
//Log.e("TTS", "Language is not supported");
}
//TTS is not initialized properly
} else {
Toast.makeText(this, "TTS Initilization Failed", Toast.LENGTH_LONG).show();
//Log.e("TTS", "Initilization Failed");
}
}
Мое приложение включает много разных языков, таких как английский, хинди, маратхи, телугу, тамильский и т. Д. Поскольку движок tts для Android по умолчанию не поддерживает эти языки, я загрузил движок eSpeak tts с этого .
По умолчанию установлен английский язык. Как мне изменить его язык в моем коде, чтобы он мог читать тексты в Юникоде и на других языках?
В настоящее время для слова на хинди он произносит некоторые числа.
Как мне заставить его распознавать язык, используемый в тексте? Он показывает только локали, доступные в google tts по умолчанию. Как изменить движок tts на eSpeak tts?