如何以编程方式更改TTS默认引擎

时间:2011-09-09 13:41:51

标签: android text-to-speech

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

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

我希望能够在我的应用程序中以以编程方式执行此操作。这可能吗?

如果是这样,我该怎么做呢?

2 个答案:

答案 0 :(得分:9)

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

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

“engine”String是您要使用的TTS引擎的包名称。

答案 1 :(得分:6)

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

在ICS之前也没有API来找出安装了什么引擎,所以你需要事先知道其他引擎的包,才能使用它。