收藏
回答

音频onTimeUpdate事件 鸿蒙系统不执行?iOS获取当前时间有差异?

手机型号:华为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处理

最后一次编辑于  2025-12-17
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--Asher
    社区技术运营专员--Asher
    2025-12-18

    问题1在排查,问题二seek无法保证精确到毫秒。业务展示上,一般也只是展示秒就好了,不用精确到毫秒。

    2025-12-18
    有用
    回复 2
    • 陈尛胖
      陈尛胖
      2025-12-18
      问题2
      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
      2025-12-18
      回复
    • 陈尛胖
      陈尛胖
      2025-12-22
      目前有结果了么?
      2025-12-22
      回复
  • 智能回答 智能回答 本次回答由AI生成
    2025-12-17
    有用
    回复 1
    • 陈尛胖
      陈尛胖
      2025-12-17
      1、鸿蒙系统未出现错误提示,2、苹果12 手机系统:IOS16.6 微信版本:8.0.66 3、通过该提问下的系统片段即可复现
      2025-12-17
      回复
登录 后发表内容