0

是否可以检查 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)吗?我可以选择所需的内容并通过单击启用按钮或其他方式启用它吗?

谢谢!

4

1 回答 1

0

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

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

于 2012-09-06T03:59:35.480 回答