如何找出特定 TextToSpeech 实例正在使用的引擎?

How to find out what engine is being used by a particular TextToSpeech instance?

在 Android 中,如何查询 TextToSpeech 实例以查明它使用的是什么引擎?

在文档中,唯一看起来有希望的方法是 TextToSpeech.getEngines(),但此方法 returns 设备上安装的所有引擎,与 TextToSpeech 的特定实例无关。

初始化 TextToSpeech 的实例时,指定要使用的引擎,我在 TextToSpeech 的源代码中看到该参数存储在变量中:

private volatile String mCurrentEngine;

但是因为它是私有的,你不能直接查询它,他们似乎也没有提供这样做的方法。

我可以(理论上)将整个(源代码)class 复制到我的项目中并将该变量更改为 public 吗?我尝试这样做,但出现了太多我不知道如何修复的错误(缺少注释和 classes 没有导入选项)。

有没有我错过的更好的方法?

谢谢!

目前我能想到的就这些了:

public class TextToSpeechDeluxe extends TextToSpeech {

    public String engineName;


    public TextToSpeechDeluxe(Context context, OnInitListener listener, String engineName) {

        super(context, listener, engineName);

        this.engineName = engineName;

    }

}