Android 封装工具类问题,请求大佬解答

2021-09-01 15:11:23 +08:00
 nurupo

项目需要做一个简单的离线中文语音朗读功能,我参照 https://www.jianshu.com/p/fb48df91fddf?from=singlemessage 封装了一个工具类,可以 onClick 方法里调用 play 方法实现播放。 我现在想实现进入 Activity 自动播放语音,所以在 onStart 方法里调用 play 方法,发现播放不了,必须先在 onEvent 方法里完成初始化。

3996 次点击
所在节点    Android
5 条回复
auhah
2021-09-01 15:20:37 +08:00
应该是初始化完成以后才能播放吧。。
另外这个工具类搞了个单例,传的时候不要传 activity.this 或者 fragment.context 进去。。直接就是一个内存泄露。。。。
nurupo
2021-09-01 15:27:47 +08:00
@auhah 感谢大佬解答,我在 onClick 方法里调用是没问题的
nurupo
2021-09-01 15:30:48 +08:00
@auhah 如何判断初始化完成,在 Activity 自动播放?
auhah
2021-09-01 15:40:44 +08:00
因为点击的时候早就初始化成功了,这个初始化应该在一秒内可以完成。。

case SpeechConstants.TTS_EVENT_INIT:
// 初始化成功回调
主要就是要在调用 init 之后的 onEvent 的这个事件之后再调用 play 方法。。。方案有很多,加个回调什么的都行,或者提前初始化之类的。或者改一下工具类,play 时候检测一下初始化状态,如果没初始化完成就把要 play 的内容存起来,初始化完成以后再 play 一下。。。
nurupo
2021-09-01 16:01:35 +08:00
@auhah 感谢提供思路,问题解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799273

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX