我正在创建一个使用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引擎就绪的情况下立即调用该方法?
感谢您的帮助!
答案 0 :(得分:1)
问题出在谷歌的TTS引擎上。我尝试使用PicoTTS,效果很好。