【问题标题】:Android - TTS set language to Locale.getDefault not possible without internet?Android - TTS 将语言设置为 Locale.getDefault 不可能没有互联网?
【发布时间】:2016-04-21 18:16:41
【问题描述】:

我正在尝试将我的 TextToSpeech-object 的语言设置为荷兰语。这是运行应用程序的 Android 平板电脑的默认语言,当我登录 Locale.getDefault() 时,我得到“nl_NL”,所以这是正确的。

我了解到,对于 TTS,您需要在使用区域设置设置语言时提供 ISO 语言代码和 ISO 国家代码。但问题是:当平板电脑没有互联网连接时,TTS 似乎无法将语言设置为荷兰语。这是我设置语言的代码:

int result = tts.setLanguage(new Locale(Locale.getDefault().getISO3Language(),
 Locale.getDefault().getISO3Country()));
// this equals to "nld","NLD"
        if (result == TextToSpeech.LANG_MISSING_DATA
                || result == TextToSpeech.LANG_NOT_SUPPORTED)
        {
            tts.setLanguage(Locale.UK);
        }else{
            dutch = true;
        }

在没有 Internet 连接的情况下,语言始终设置为 Locale.UK。通过 Internet 连接,它可以按预期工作,并且语言设置为荷兰语(我什至不必提供 ISO 表示法,只需 new Locale("nl_BE") or "nl_NL" 即可)。

在我的代码中,当调用TTS.speak 时,我总是检查荷兰语是否为真,然后为 speak 方法提供荷兰语字符串,否则提供英语字符串。

如何解决这个问题,我可以在没有 Internet 连接的情况下将 TextToSpeech 语言设置为荷兰语?

编辑:对于遇到我的问题的其他人,请查看下面我的答案的编辑部分。

【问题讨论】:

  • 所以如果你关闭网络,它就不会说话了??这是模拟器还是真机?我认为需要互联网连接是一个糟糕的主意。
  • 它在没有互联网连接的情况下仍然会说话,但您只能使用设备上安装的语言(并且可以在离线时使用)。

标签: java android locale text-to-speech


【解决方案1】:

经过大量研究,似乎与 TTS 一起安装的标准语言不包含荷兰语。 我使用 isLanguageAvailable(Locale loc) 方法进行了一些测试,从而检查了荷兰语等,似乎不支持荷兰语(返回值为 LANG_NOT_SUPPORTED )。

我必须找到另一个 TTS 客户端来满足我的需要或播放带有正确消息的 .mp3 文件(这可能会起作用,因为 TTS 必须发音的值是预定义的)。

一些对我有帮助的链接:
http://igordcard.blogspot.be/2014/02/changing-android-text-to-speech-tts.html
Missing languages in TTS android
How to check if a specific language data for Text to Speech(TTS) is installed on a device?
http://code.tutsplus.com/tutorials/android-sdk-using-the-text-to-speech-engine--mobile-8540

还有一张显示安装了哪些语言的图片:

编辑:从 Google Play 商店更新“Google TTS”应用程序后,荷兰语 BECAME 可用。如果您正在寻找荷兰语离线 TTS 并且使用的是 Google TTS,只需将其更新到最新版本即可。

【讨论】:

    【解决方案2】:

    试试

    tts.setLanguage(new Locale("nl", "NL"));
    

    【讨论】:

    • 除非安装并支持荷兰语语音合成,否则将无法使用。您可以通过转到 Android 设备的语言和输入设置,然后检查文本到语音/语音合成的支持语言来检查这一点。我的设备不支持它(可能很多其他设备也不支持),但您可以通过从 Play 商店更新您的 Google TTS 来安装它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多