我正在玩Android TTS引擎。我试图用西班牙语从墨西哥讲话,而不是从西班牙讲。
我已经尝试了几种语言代码/国家代码的组合,但我无法从西班牙获得西班牙语的任何内容。这是我目前的代码
loc = new Locale("es", "MEX");
myTts.setLanguage(loc);
say("Hello");
我也试过(“es”,“US”),(“es”,“LA”),(“spa”,“US”),(“spa”,“MEX”)与每个组合我能想到它在日志中显示了这个:
TtsEngine :: setLanguage找到了匹配的语言(spa),但找不到匹配的国家/地区(MEX)。
成功加载es-ES
我可以退出我的应用并打开TTS服务扩展。如果我将语言设置为西班牙语[西班牙语]或西班牙语 - 拉丁语。无论哪种方式,当我点击'听预览'我得到“Hola”这是预期的。但是根据我的申请,我得到了“Heyyo”而不是“Hola”。任何人都能看到我错误地设置我的语言吗?
答案 0 :(得分:6)
我使用了以下代码,它在西班牙语中运行良好。
Locale locSpanish = new Locale("spa", "MEX");
tts.setLanguage(locSpanish);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
答案 1 :(得分:0)
我还没有在Android上使用TTS,所以我不知道这是否相关,但Locale constructor需要2个字母的国家/地区代码,而the ISO country code for Mexico是MX。
答案 2 :(得分:0)