7

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

 2 years ago
source link: https://www.v2ex.com/t/799273
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Android 封装工具类问题,请求大佬解答

V2EX  ›  Android

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

  nurupo · 5 小时 31 分钟前 · 274 次点击

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

5 条回复    2021-09-01 16:01:35 +08:00

auhah

auhah   5 小时 22 分钟前

应该是初始化完成以后才能播放吧。。
另外这个工具类搞了个单例,传的时候不要传 activity.this 或者 fragment.context 进去。。直接就是一个内存泄露。。。。

nurupo

nurupo   5 小时 15 分钟前

@auhah 感谢大佬解答,我在 onClick 方法里调用是没问题的

nurupo

nurupo   5 小时 12 分钟前

@auhah 如何判断初始化完成,在 Activity 自动播放?

auhah

auhah   5 小时 2 分钟前

因为点击的时候早就初始化成功了,这个初始化应该在一秒内可以完成。。

case SpeechConstants.TTS_EVENT_INIT:
// 初始化成功回调
主要就是要在调用 init 之后的 onEvent 的这个事件之后再调用 play 方法。。。方案有很多,加个回调什么的都行,或者提前初始化之类的。或者改一下工具类,play 时候检测一下初始化状态,如果没初始化完成就把要 play 的内容存起来,初始化完成以后再 play 一下。。。

nurupo

nurupo   4 小时 41 分钟前

@auhah 感谢提供思路,问题解决了

关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2421 人在线   最高记录 5497   ·  

创意工作者们的社区

World is powered by solitude

VERSION: 3.9.8.5 · 21ms · UTC 12:42 · PVG 20:42 · LAX 05:42 · JFK 08:42
♥ Do have faith in what you're doing.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK