Android TTS语言

Tim*_*Tim 4 android text-to-speech

我正在玩Android TTS引擎.我试图用西班牙语从墨西哥讲话,而不是从西班牙讲.

我已经尝试了几种语言代码/国家代码的组合,但我无法从西班牙获得任何西班牙语.这是我目前的代码

loc = new Locale("es", "MEX");
myTts.setLanguage(loc);
say("Hello");
Run Code Online (Sandbox Code Playgroud)

我也试过("es","US"),("es","LA"),("spa","US"),("spa","MEX"),我能想到的每一个组合它在日志中显示我:

TtsEngine :: setLanguage找到匹配语言(spa)但不匹配国家(MEX).

已成功加载es-ES

我可以退出我的应用程序并打开TTS服务扩展.如果我将语言设置为西班牙语[西班牙语]或西班牙语 - 拉丁语.无论哪种方式,当我点击'听预览'我得到"Hola"这是预期的.但是根据我的申请,我得到了"Heyyo"而不是"Hola".任何人都可以看到我错误地设置我的语言吗?

Jos*_*raj 6

我使用了以下代码,它在西班牙语中运行良好.

Locale locSpanish = new Locale("spa", "MEX");
tts.setLanguage(locSpanish);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
Run Code Online (Sandbox Code Playgroud)


Dan*_*yer 0

我还没有在 Android 上使用过 TTS,所以我不知道这是否相关,但Locale 构造函数需要 2 个字母的国家/地区代码,而墨西哥的 ISO 国家/地区代码是 MX。