项目需要做一个简单的离线中文语音朗读功能,我参照 https://www.jianshu.com/p/fb48df91fddf?from=singlemessage 封装了一个工具类,可以 onClick 方法里调用 play 方法实现播放。 我现在想实现进入 Activity 自动播放语音,所以在 onStart 方法里调用 play 方法,发现播放不了,必须先在 onEvent 方法里完成初始化。
1
auhah 2021-09-01 15:20:37 +08:00
应该是初始化完成以后才能播放吧。。
另外这个工具类搞了个单例,传的时候不要传 activity.this 或者 fragment.context 进去。。直接就是一个内存泄露。。。。 |
4
auhah 2021-09-01 15:40:44 +08:00
因为点击的时候早就初始化成功了,这个初始化应该在一秒内可以完成。。
case SpeechConstants.TTS_EVENT_INIT: // 初始化成功回调 主要就是要在调用 init 之后的 onEvent 的这个事件之后再调用 play 方法。。。方案有很多,加个回调什么的都行,或者提前初始化之类的。或者改一下工具类,play 时候检测一下初始化状态,如果没初始化完成就把要 play 的内容存起来,初始化完成以后再 play 一下。。。 |