如何找出特定文本转语音实例正在使用的引擎?



在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;
}
}

相关内容

  • 没有找到相关文章

最新更新