手机型号:华为mate60 pro 手机系统:鸿蒙5.1.0 鸿蒙软件版本:5.1.0.150 微信版本:8.0.13
手机型号:苹果12 手机系统:IOS16.6 微信版本:8.0.66
主要表现:
1、在鸿蒙系统上通过wx.createInnerAudioContext创建好音频后,点击设置音频播放进度,先seek(60),音频正常播放,onTimeUpdate事件正常执行。此时若再seek(30),音频正常播放,但onTimeUpdate事件不执行,当音频播放到60s之后,onTimeUpdate才会正常执行。
2、在ios系统上通过wx.createInnerAudioContext创建好音频后,点击设置音频播放进度,先seek(60),音频正常播放,但是获取到的音频时间是59.xxx,而不是60,导致音频时间先被设置为60,然后变成59,然后又变成60,音频时间通过math.floor处理

问题1在排查,问题二seek无法保证精确到毫秒。业务展示上,一般也只是展示秒就好了,不用精确到毫秒。
1、首先音频播放时间格式为00:30这种,由A字段控制,手指滑动进度条的时候,A字段也会随着改变,当触发onTimeUpdate事件的时候,也会获取到当前时间设置A字段。音频时间秒数获取是Math.floor(A)。
2、发生场景:滑动进度条到任意位置时,比如位置为30,我会seek(30),同时设置A字段为00:30,此时onTimeUpdate事件依旧会触发,在这个事件内 我获取到的时间是29.xxxx,而不是大于等于30的一个值,那么就会设置A字段为00:29
3、结果:会出现A字段先是00:30,松开手指后又变成00:29,然后音频正常播放到00:30
以上代码片段 可以找个ios手机 点击设置播放进度 第一个按钮是seek(60),点击后,你会发现 显示的时间是59.xxxxx,再变成60,再变成60.xxxxx