【问题标题】:How to programmatically install tts language data for a specific language?如何以编程方式安装特定语言的 tts 语言数据?
【发布时间】:2019-08-09 02:59:37
【问题描述】:

我的 android 系统设置为英语,很明显,文本到语音的默认语言也是英语。我正在开发一个使用文本到语音功能的应用程序,但需要使用日语语音。这是问题所在。 tts 调用 getAvailableLanguages() 返回由 tts 引擎管理的所有可能的语言,但这并不意味着它立即可用。要使用特定语言(在我的情况下为日语),必须手动下载语言数据并将其安装到系统中。 现在我的问题是,如何以编程方式执行此操作?阅读它报告以下示例的文档:

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

private TextToSpeech mTts;
protected void onActivityResult(
        int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_DATA_CHECK_CODE) {
        if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
            // success, create the TTS instance
            mTts = new TextToSpeech(this, this);
        } else {
            // missing data, install it
            Intent installIntent = new Intent();
            installIntent.setAction(
                TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
            startActivity(installIntent);
        }
    }
}

但不清楚如何告诉我只需要安装日语数据。我google了很多,但没有找到解决方案。我确信它可以完成,因为我找到了自动制作它的应用程序(在我选择了 tts 功能后,系统开始自动下载和安装语言数据)。

有人知道如何达到这样的结果吗? 谢谢

【问题讨论】:

    标签: android text-to-speech


    【解决方案1】:

    你没有。这会打开一个 Activity,让用户选择一种或多种语言进行下载。没有用户交互是无法直接下载的。

    【讨论】:

    • 这个应用程序可以做到这一点。只需选择 tts 选项,它就会自动安装日语。 play.google.com/store/apps/details?id=jp.takoboto
    • @Suppaman 不可能。您甚至不能保证安装了特定的 TTS 引擎(用户和 OEM 可以安装自己的)。他们都从不同的地方以不同的格式获取 TTS 数据。没有办法知道用户正在使用哪个并安装它。如果他们确实有一些东西,它最多适用于一部分设备
    猜你喜欢
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多