首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android TTS语言

Android TTS语言
EN

Stack Overflow用户
提问于 2010-08-27 00:10:38
回答 3查看 15.6K关注 0票数 7

我正在使用Android TTS引擎。我正在尝试将其设置为从墨西哥用西班牙语说话,而不是从西班牙。

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

代码语言:javascript
复制
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服务扩展。如果我将语言设置为西班牙语或西班牙语-拉丁美洲。无论哪种方式,当我点击“收听预览”时,我都会得到“你好”,这是意料之中的。但在我的应用程序中,我得到的是“嘿!”而不是“你好”。有没有人能看到我错误地设置了我的语言?

EN

回答 3

Stack Overflow用户

发布于 2012-05-24 07:44:18

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

代码语言:javascript
复制
Locale locSpanish = new Locale("spa", "MEX");
tts.setLanguage(locSpanish);
tts.speak(text, TextToSpeech.QUEUE_ADD, null);
票数 8
EN

Stack Overflow用户

发布于 2010-08-27 00:24:59

我还没有在Android上使用过TTS,所以我不知道这是否相关,但Locale constructor要求的是2个字母的国家代码,而the ISO country code for Mexico是MX。

票数 0
EN

Stack Overflow用户

发布于 2010-08-27 00:51:19

如果它想要2个字母的国家代码或3个字母的国家代码,那就有点混乱了。Locale文档显示为2个字母,因此应该是sp-MX,但TTS doc显示了一个具有3个字母代码的示例,因此spa-MEX是正确的。

您使用的设备/sdk版本是什么?如果两者都不起作用,可能是因为您的设备不支持西班牙语-墨西哥。TTS doc的第一部分展示了如何检查特定语言的资源,如果它们不存在,则下载它们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3577058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档