在Android中,如何查询TextToSpeech实例以找出它正在使用的引擎?
在文档中,唯一看起来很有希望的方法是 TextToSpeech.getEngines((,但此方法返回设备上安装的所有引擎,与 TextToSpeech 的特定实例无关。
当您初始化 TextToSpeech的实例时,您可以指定要使用的引擎,我可以在 TextToSpeech 的源代码中看到此参数存储在变量中:
private volatile String mCurrentEngine;
但由于它是私有的,因此您无法直接查询它,并且他们似乎没有提供这样做的方法。
我可以(理论上(将整个(源代码(类复制到我的项目中并将该变量更改为公共变量吗? 我尝试这样做,但我收到太多我不知道如何修复的错误(缺少注释和没有导入选项的类(。
有没有更好的方法我错过了?
谢谢!
这是我到目前为止能想到的:
public class TextToSpeechDeluxe extends TextToSpeech {
public String engineName;
public TextToSpeechDeluxe(Context context, OnInitListener listener, String engineName) {
super(context, listener, engineName);
this.engineName = engineName;
}
}