最后编辑于2022-09
当前有两个页面,
打开页面1初始化initTts,一切正常。
跳转到页面2初始化initTts,一切正常。
然后finish页面2返回到页面1,播放一条语音正常,但是页面1已经无法接收到tts回调。
打印了一下Log查看原来回调在页面2,看了一下初始化代码:
SpeechSynthesizer mSpeechSynthesizer =SpeechSynthesizer.getInstance();
mSpeechSynthesizer.setContext(context);
mSpeechSynthesizer.setSpeechSynthesizerListener(...);
原来每次初始化都会setContext,只是我关闭页面2了怎么重新让页面1能接收到回调?在onResume()中初始化?
收藏
点赞
0
个赞
请登录后评论
TOP
切换版块
这个属于安卓逻辑了,可以看看有没有大神回复你,或者查下相关论坛。
不是报错,只是想问一下怎么初始化好一点。
现在我每个页面都有个语音播报,我目前只能在每个activity的onResume()方法初始化了,不然SpeechSynthesizerListener回调只能最后一个初始化的activity能接收到。
而且我关闭activity的时候不敢释放,因为释放之后返回前一个activity发现不能播报了。
Demo中是单个页面用到语音播报,如果多个页面需要用那要怎么管理呢?
不明白你的页面1和2是什么意思,是你自己的逻辑吗?百度语音合成SDK是否有什么问题呢?可以贴下具体报错和版本