写了一个仿微信语音聊天 的小程序,用的Api 是 wx.createInnerAudioContext();
想实现微信中点击第二条语音时中断上一条语音的播放,所以我必须要监听每条语音的状态,播放当前点击的语音,并且中断前一条播放中的语音;
以下是实现代码:
audioData 是我封装的语音条,用于当用于点击,或语音状态更新时通知父组件;
每当点击时 userChickAudio() 时都会通知 父组件的方法 userChickAudio() 接收,
而状态更新时 组件内的Onpaly() 和onStop() 等监听方法都是通过 completionSignal() 方法接收
但是确出了一个问题:
当我第一次点击语音时
打印很正常 没问题;
然而在 第一条语音在播放时 点击第二条语音时 莫名的赋值问题就来了
当我在1688 语音条播放是 点击1670的语音时 发生了 1688 变成了1670 的问题 然而 我并没有任何代码 赋值 操作,唯一的赋值previousAudioData 的代码 也没有触发 ,而是在userChickAudio()接收点击事件的父组件中直接发生, 这让我非常的疑惑,
希望看到这贴子的朋友 帮帮我,我看了很久想尝试找到问题,但是依旧没有成功。希望大佬能帮我,在此非常感谢