此问题仅适用于Android 2.2 :
以下屏幕截图显示了3种不同的文字转语音引擎:
在此屏幕截图中,您可以看到并非所有3个都已选中(已启用)。相反,IVONA未经检查,仅留下Pico(暗示,因为它是硬编码的)和SVOX(已检查)。
我希望能够以编程方式从我的应用程序中查询特定的TTS引擎(例如IVONA)是否 checked (假设我在编码时知道他们的包名,当然)。
在Android 2.2 中我只有getDefaultEngine()
,如果 Pico 被选为默认设置并且 SVOX <,则无法真正提供帮助检查/ em>(换句话说,如果 Pico 是默认值,我怎么知道 SVOX 被检查?)
如何在Android 2.2 中实现这一目标?
这一切都可能吗?
PS Android 4.x(API&gt; = 14)介绍了getEngines(),这可能会让您相信ICS +已解决此问题,但仔细检查后会发现:
答案 0 :(得分:0)
请参阅Android TextToSpeech API guide
getEngines()
将列出所有已安装的引擎,并提供有关每个引擎的信息。
getDefaultEngine()
将提供用户选择默认的任何引擎的包名称。
将每个引擎的包名称(或您预先列出的列表)与默认引擎的包名称进行比较,您将能够看到选择了哪个。
请注意,前一个功能仅适用于API级别14,但第二个功能可从API级别8获得。