帖子
帖子
用户
博客
课程
显示全部楼层
155
帖子
3
勋章
3万+
Y币

[插件使用] 安卓跑了多个FNRecordMp3时,前面注册的setMp3PathListener会失效

[复制链接]
发表于 2023-12-25 09:55:59
安卓跑了多个FNRecordMp3时,前面注册的setMp3PathListener会失效


例如在A.html需录音,调用了FNRecordMp3,并注册了setMp3PathListener监听,进行了4~5次录音。

之后在B.html也需要使用录音FNRecordMp3,也注册了setMp3PathListener监听,在B处也进行4~5次录音。再返回A.html进行录音时,发现仅在B.html处收到监听事件
模块开发-JP1688
0
帖子
1
勋章
2522
Y币
最佳答案
跳转到其他界面的时候先在当前界面调用removeMp3PathListener,跳转回来的时候再重新添加监听
setMp3PathListener可能只能注册一次  例如在你的index页面 然后其它页面用sendEvent去收发监听
155
帖子
3
勋章
3万+
Y币
勇可可①①⑥①②⑦⑦①②① · 2023-12-25 10:49setMp3PathListener可能只能注册一次  例如在你的index页面 然后其它页面用sendEvent去收发监听

文档没说明,而且如果只是在B.html只录音一两次,则返回A.html,A的监听事件还是有效的,甚至打开C页面,D页面进行过录音,A,B,C,D的监听事件都是正常的。只要在一个页面里不是进行了多次的录音,大约5,6次,则其他页面的监听事件不会失效,所以我希望模块开发者查看他代码是否存在bug。当然,目前绕过该bug的处理方法大概就只有整个app只跑一次该模块
0
帖子
1
勋章
2522
Y币
跳转到其他界面的时候先在当前界面调用removeMp3PathListener,跳转回来的时候再重新添加监听
155
帖子
3
勋章
3万+
Y币
模块开发-JP1688 · 2023-12-25 13:45跳转到其他界面的时候先在当前界面调用removeMp3PathListener,跳转回来的时候再重新添加监听

对了,这个情况建议在文档里备注下,因为这个问题是有点不太好发现的。
如在聊天页面跳转到一个添加常用语语音的页面,只添加一次然后返回聊天页面,在聊天页面发语音是能正常发送的。但如果在常用语页面添加了5、6条语音再返回聊天页面想发送语音,此时才无法发送,这应该算隐藏bug,文档如果没说明重新进入页面需重新注册监听,开发及测试比较难发现,但这个问题用户用时就容易会出现了
您需要登录后才可以回帖 登录

本版积分规则