在Android Froyo 8到姜饼api-10中,文本到语音并不总是安装在系统上。不久前我听说,从某个API开始,TTS将成为Android的一个组成部分。
我希望防止在新平台上运行的代码中进行TTS可用性检查。有人有这方面的经验吗?
是否有任何关于文本到语音引擎的官方文件说它将在某些平台上可用?
为了详细说明,我使用了这段代码来检查TTS是否存在。
final Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
sourceActivity.startActivityForResult(checkIntent, TTS_CHECK_REQ);在onActicityResult中,我将结果代码与CHECK_VOICE_DATA_PASS进行匹配,以考虑成功的其他失败。
发布于 2013-02-12 03:11:36
来自Android开发者博客
尽管所有支持TTS功能的Android驱动设备都随引擎一起运行,但有些设备的存储空间有限,可能缺少特定于语言的资源文件。如果用户希望安装这些资源,TTS API使应用程序能够查询平台中语言文件的可用性,并可以启动它们的下载和安装。因此,在创建您的活动时,第一步是检查是否存在具有相应意图的TTS资源:(下面是您的示例意图)
我从中得到的是引擎是平台的核心部分。然而,语音数据却不是,这正是你的意图所在。不过,我不会禁用此检查,因为并非所有设备都保证在其发布时安装数据。
当然,最新的Galaxy或Nexus会的,但是更便宜的手机呢?那真正便宜的呢?他们可能在运行ICS或JB,但制造商可能已经删减了,或者只是试图节省磁盘空间。那定制的ROM呢?有一些人为摆脱Android的“膨胀”而感到自豪。我几乎可以保证至少有一个删除了语音数据。
https://stackoverflow.com/questions/14389988
复制相似问题