我正在创建一个使用TextTospeech类的应用程序。我对初始化有问题(我的设备是Android Nougat Nexus 5x(。
我的代码非常简单:
- 我的活动包含
private TextToSpeech tts;
字段 -
onCreate
方法像这样初始化了TTS:tts = new TextToSpeech(this, this);
- 在我的活动中,我实现了
TextToSpeech.OnInitListener
接口 -
onInit
方法包含检查状态是否成功的检查,如果这样显示的调试吐司并试图说话
预期的结果是,一旦TTS发动机初始化,它将显示我的调试吐司并在此之后讲话。
我得到的是不同的:onInit
方法几乎立即调用,我的吐司显示出来,没有……什么也没有。经过10-15次稳定的延迟,我可以听到我可爱的手机讲话。
当TTS发动机准备讲话时,onInit
事件是否应该被解雇?为什么该方法立即在没有等待TTS引擎准备就绪的情况下立即调用?
感谢您的帮助!
问题在Google的TTS引擎中。我试图使用picotts,效果很好。