【问题标题】:Text to Speech Locale Hindi Indian文本到语音 语言环境 印地语 印度语
【发布时间】:2014-02-06 09:22:10
【问题描述】:

我为 Android 创建了一个文本到语音引擎,它支持多种语言,其中一种是印地语。

在 Android 文本转语音设置中,当用户选择默认语言环境时,Android 会进行多项检查,包括发送意图 ACTION_GET_SAMPLE_TEXT

这是我支持的语言环境列表:

private static final String[] SUPPORTED_LANGUAGES = { "eng-GBR", "eng-USA", "fra-FRA", "spa-ESP", "deu-DEU", "ita-ITA",
        "kor-KOR", "nld-NLD", "dan-DNK", "fin-FIN", "jpn-JPN", "nor-NOR", "pol-POL", "por-PRT", "por-BRA", "rus-RUS",
        "swe-SWE", "zho-CHN", "zho-HKG", "zho-TWN", "ara-SAU", "hi-IN", "ces-CZE", "ell-GRC", "hun-HUN", "ron-ROU",
        "slk-SVK", "tha-THA", "tur-TUR", "cym-GBR", "isl-ISL", "in-IDN" };

对于除“hi-IN”之外的每个区域设置,Android 都会发送此意图,我会以示例文本进行响应,并且“收听示例”按钮变为可用。

我成功地从对onIsLanguageAvailable 的调用中返回了LANG_COUNTRY_AVAILABLE,但按钮仍然显示为灰色,并且显示不支持该语言。

我尝试了很多不同的 ISO 语言环境组合:

hin-IN、hi-IND、ind-HI 等等等等,但 Android 不会发送 Intent,尽管它在区域设置列表中被正确标记为印地语(印度)或只是印地语。

logcat 中没有错误提示变体匹配失败。

我发布我的代码没什么意义,因为 Android 根本不会发送此区域设置的 Intent,因此它无法访问我的代码....

任何想法如何正确处理此语言环境变体?

编辑:我刚刚意识到印度尼西亚语(in-IDN)也发生了这种情况

【问题讨论】:

  • 尝试hin-INDind-IDN 分别用于印地语和印度尼西亚语。
  • @shoerat 非常感谢!我发誓我试过这些组合?无论如何,如果您将评论放在答案中,我将奖励您赏金。再次感谢。

标签: android locale text-to-speech


【解决方案1】:

TTS 对languagelocale 使用三字母代码*。因此,根据该语言/国家/地区代码:

Hindi         hin-IND
Indonesian    ind-IDN

希望这会有所帮助。


*这需要适当的来源引用:我只是根据现有的 TTS 引擎实现得出我的结论。

【讨论】:

  • 印地语还有其他设置吗?..我试过这段代码,但它不能用印地语说话..:(
  • @KomalSorathiya,确保您正在测试的引擎实际上支持印地语 TTS。
  • 这不是真正的设备特定功能,它取决于 TTS 引擎。转到设置 -> 语言和输入 -> 文本到语音输出并检查已安装引擎支持的语言。
  • 我们可以安装更多的文本到语音输出吗??我想为印地语安装。
  • 是的,在 Play 商店搜索“TTS 引擎”
猜你喜欢
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多