TextToSpeech初始化侦听器触发但未初始化TTS引擎

时间:2017-04-24 14:54:15

标签: android text-to-speech google-text-to-speech

我正在创建一个使用TextToSpeech类的应用程序。我在初始化时遇到问题(我的设备是Android Nougat Nexus 5X)。

我的代码非常简单:

  • 我的活动包含private TextToSpeech tts;字段
  • onCreate方法初始化TTS,如下所示:tts = new TextToSpeech(this, this);
  • 在我的活动中,我实现了TextToSpeech.OnInitListener接口
  • onInit方法包含检查状态是否成功,如果是,则显示调试Toast并尝试发言

预期的结果是,一旦TTS引擎初始化,它将显示我的调试Toast并在之后说话。

我得到的是不同的:onInit方法几乎立即被调用,我的Toast被显示并且......没有。经过10到15秒的坚实延迟,我能听到我可爱的电话说话。

当TTS引擎准备好发言时,是不是应该触发onInit事件?为什么在不等待TTS引擎就绪的情况下立即调用该方法?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

问题出在谷歌的TTS引擎上。我尝试使用PicoTTS,效果很好。