您好我正在开发基于TTS语音的应用程序,该应用程序支持Google Text To Speech支持的语言,
目前,我通过以下代码获取所有可用语言列表
Set<Locale> locales = t1.getAvailableLanguages();
列出了包括泰米尔在内的54种语言环境。但是,当我尝试通过以下代码与应用程序说出文本时,
t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR) {
// Lets say string i want to read is
String toSpeak = "வணக்கம்";
try {
//lets say i want to speak the Tamil Language here from the list given by t1.getAvailableLnaguages();
String localCode = "ta";
Locale locale = new Locale(localCode);
t1.setLanguage(locale);
t1.speak(toSpeak, TextToSpeech.QUEUE_FLUSH, null, "1");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
此代码说英语口音中的文字,这是不可理解的。任何人都可以帮我检查设备中是否安装了特定的语音数据?如果我对这个观点做错了,请纠正我。
提前致谢。
答案 0 :(得分:0)
泰米尔语的区域设置代码是
String localCode = "ta-IN";