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

an0*_*00b 15 android text-to-speech

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

Settings > Voice input & output > Text-to-speech settings > Default Engine
Run Code Online (Sandbox Code Playgroud)

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

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

Ish*_*aan 12

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

TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)
Run Code Online (Sandbox Code Playgroud)

"engine"String是您要使用的TTS引擎的包名称.

  • 你怎么知道Google TTS引擎的字符串是什么? (7认同)

Nik*_*kov 6

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

在ICS之前也没有API来找出安装了什么引擎,因此您需要事先了解其他引擎的包以便能够使用它.

  • API级别14中不推荐使用的方法. (3认同)