收藏
回答

一个setData莫名赋值的问题?

写了一个仿微信语音聊天 的小程序,用的Api 是 wx.createInnerAudioContext();

想实现微信中点击第二条语音时中断上一条语音的播放,所以我必须要监听每条语音的状态,播放当前点击的语音,并且中断前一条播放中的语音;

以下是实现代码:

audioData 是我封装的语音条,用于当用于点击,或语音状态更新时通知父组件;

每当点击时 userChickAudio() 时都会通知 父组件的方法 userChickAudio() 接收,

而状态更新时 组件内的Onpaly() 和onStop() 等监听方法都是通过 completionSignal() 方法接收

但是确出了一个问题:

当我第一次点击语音时

打印很正常 没问题;

然而在 第一条语音在播放时 点击第二条语音时 莫名的赋值问题就来了

当我在1688 语音条播放是 点击1670的语音时 发生了 1688 变成了1670 的问题 然而 我并没有任何代码 赋值 操作,唯一的赋值previousAudioData 的代码 也没有触发 ,而是在userChickAudio()接收点击事件的父组件中直接发生, 这让我非常的疑惑,

希望看到这贴子的朋友 帮帮我,我看了很久想尝试找到问题,但是依旧没有成功。希望大佬能帮我,在此非常感谢



回答关注问题邀请回答
收藏
登录 后发表内容
问题标签