【问题标题】:How to Programmatically Change TTS Default Engine如何以编程方式更改 TTS 默认引擎
【发布时间】:2011-11-13 19:42:11
【问题描述】:

除了 Android 自带的 Pico TTS 引擎,我还安装了另一个 TTS 引擎。我可以手动更改系统使用的默认值:

Settings > Voice input & output > Text-to-speech settings > Default Engine

我希望能够在我的应用程序中以编程方式做到这一点。这可能吗?

如果是这样,我会怎么做?

【问题讨论】:

    标签: android text-to-speech


    【解决方案1】:

    上述答案不再有效,因为该方法已被弃用。 Android API 14 及以上版本需要使用构造函数来设置引擎。

    TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)
    

    “engine”字符串是您要使用的 TTS 引擎的包名。

    【讨论】:

    • 你怎么知道 Google TTS 引擎的字符串是什么?
    • 您可以在激活引擎时找到引擎名称,然后运行 ​​TextToSpeech.EngineInfo() 或查看 TextToSpeech 对象的 mCurrentEngine 的值。
    【解决方案2】:

    您无法更改默认引擎。但是,您可以通过调用 TextToSpeech.setEngineByPackageName()(自 2.2 起可用)来更改您正在使用的引擎,或者使用带有引擎包参数的构造函数(在 ICS 中可用,因此现在不是很有用)。

    ICS之前也没有API可以查出安装了哪些引擎,所以需要事先知道其他引擎的包才能使用。

    【讨论】:

    • API 级别 14 中不推荐使用的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多