Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何以编程方式更改TTS默认引擎_Android_Text To Speech - Fatal编程技术网

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

Android 如何以编程方式更改TTS默认引擎,android,text-to-speech,Android,Text To Speech,除了Android自带的Pico TTS引擎外,我还安装了另一个TTS引擎。我可以更改系统使用的默认值--手动: Settings > Voice input & output > Text-to-speech settings > Default Engine 我希望能够从我的应用程序中以编程方式实现这一点。这可能吗 如果是这样,我该怎么做?您不能更改默认引擎。但是,您可以通过调用(从2.2开始提供)更改正在使用的引擎,或者使用接受引擎包参数的构造函数(在ICS中提

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

Settings > Voice input & output > Text-to-speech settings > Default Engine
我希望能够从我的应用程序中以编程方式实现这一点。这可能吗


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

您不能更改默认引擎。但是,您可以通过调用(从2.2开始提供)更改正在使用的引擎,或者使用接受引擎包参数的构造函数(在ICS中提供,因此现在并不真正有用)


ICS之前也没有API来确定安装了哪些引擎,因此您需要事先了解另一个引擎的软件包才能使用它。

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

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

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

API级别14中不推荐使用的方法。您如何知道Google TTS引擎的字符串是什么?您可以在激活它时找到引擎名,然后运行TextToSpeech.EngineInfo()或检查TextToSpeech对象的mCurrentEngine的值。