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