视频播放触发 “bindended事件” 后还会触发 “bindtimeupdate事件” 。在有些应用场景下就有问题;
比如:记录用户视频观看时长场景,如果视频总时长为100秒,
bindended事件对应的处理是:把用户观看时长改为100。
bindtimeupdate事件对应的处理是:把用户的观看时长改为当前的时间(通过bindtimeupdate事件的event.detail.currentTime获取)。
当用户观看完,就触发bindended事件,之后又触发bindtimeupdate事件,
正确的结果是:用户观看时长为100。而最终的结果变成:用户观看时长为98(也可能是97,98.5,99.6等很多结果)。
建议:视频播放触发 “bindended事件” 后停止触发 “bindtimeupdate事件”。
请提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
如果确实有这个问题,你可以data定义一个字段ended=false 在播放结束的时候改为true,然后bindtimeupdate验证下ended状态是否修改,先临时这样操作吧