【发布时间】:2011-11-13 19:42:11
【问题描述】:
除了 Android 自带的 Pico TTS 引擎,我还安装了另一个 TTS 引擎。我可以手动更改系统使用的默认值:
Settings > Voice input & output > Text-to-speech settings > Default Engine
我希望能够在我的应用程序中以编程方式做到这一点。这可能吗?
如果是这样,我会怎么做?
【问题讨论】:
除了 Android 自带的 Pico TTS 引擎,我还安装了另一个 TTS 引擎。我可以手动更改系统使用的默认值:
Settings > Voice input & output > Text-to-speech settings > Default Engine
我希望能够在我的应用程序中以编程方式做到这一点。这可能吗?
如果是这样,我会怎么做?
【问题讨论】:
上述答案不再有效,因为该方法已被弃用。 Android API 14 及以上版本需要使用构造函数来设置引擎。
TextToSpeech(Context context, TextToSpeech.OnInitListener listener, String engine)
“engine”字符串是您要使用的 TTS 引擎的包名。
【讨论】:
您无法更改默认引擎。但是,您可以通过调用 TextToSpeech.setEngineByPackageName()(自 2.2 起可用)来更改您正在使用的引擎,或者使用带有引擎包参数的构造函数(在 ICS 中可用,因此现在不是很有用)。
ICS之前也没有API可以查出安装了哪些引擎,所以需要事先知道其他引擎的包才能使用。
【讨论】: