从android中的程序启用默认TTS引擎

时间:2012-09-06 02:57:54

标签: android

是否可以检查Android中是否启用了默认的文字转语音引擎?如果没有,我可以通过我的Android程序启用吗?如果是这样,怎么样?

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);

上面的代码显示了不同的TTS,并显示为一个对话框,然后我选择了所需的TTS并单击OK。一旦我这样做 - 系统(平板电脑或手机)会自动选择所选的TTS并启用它。

我可以通过将其置于自定义布局(列出已安装的TTS)来执行相同操作,并且可以选择所需内容并通过单击启用按钮或其他内容启用它吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在ICS中列出可用的TTS引擎,您可以在Froyo及更高版本上按包名称和语言测试可用性。 TTS引擎由系统控制,因此您无法从应用程序中禁用/启用它们。您只能提示用户这样做。

Re:已编辑的问题。这是一个完全不同的故事。此意图检查是否已安装TTS数据,如果您有多个引擎,则必须选择一个来处理意图。这就是Android调度意图的方式,与TTS无关。如果通过调用Intent.setPackage("my.tts.package")使显式明确,则不会显示对话框。请注意,这不会检查是否启用了TTS引擎。我没有检查,但我怀疑如果在设置中禁用TTS引擎,这将启用它。