我正在开发一个词汇应用程序,在大多数活动中都会有TTS。我正在实现TTS,如http://www.androidhive.info/2012/01/android-text-to-speech-tutorial/所示。
然而,我发现并且相当确定,在OnCreate中设置TTS会导致应用程序使用TTS打开活动的速度非常慢。(通过使用和不使用TTS运行相同的活动进行测试)
// setup TTS part 1.1
mTts = new TextToSpeech(ActivityA.this, this); // TextToSpeech.OnInitListener问题:
这个过程怎样才能更快呢?在后台加载TTS?然而,一旦打开ActivityA的布局,它必须立即说出/发音词汇表。
发布于 2014-05-31 00:06:01
本月(2014年5月),谷歌发布了更新版本的谷歌TTS引擎(v3.1.3)。在新版本中,我的经验是可以花5秒来初始化引擎,这使得珍珠马克的问题更加中肯。
我对这个问题的解决方案是通过让父活动创建tts引擎的一个实例并保留该实例来预加载google TTS。当用户导航到需要TTS的新活动时,该活动仍然创建自己的TTS实例,但初始化时间现在是毫秒。在打开活动并准备发言时,几乎没有延迟。
这样做的缺点是Google TTS进程正在运行(消耗内存),而此时可能不需要它。如果您的UI没有分层设计,这也可能很难管理。
https://stackoverflow.com/questions/20078444
复制相似问题