video seek 方法跳不准从头开始重新播放
发布于 6 年前 作者 xiuyingyuan 13647 次浏览 来自 问答

版本:6.7.3

场景:A与B实现视频的同步暂停

需求:

  1. A 在 bindtimeupdate 方法中获取当前播放时间

  2. 通过接口将时间传给 B

  3. B 执行 videoContent.pause();   videoContext.seek(time);

问题描述:

  1. A 与 B 都是 Iphone 时,正常工作

  2. A 与 B 有一方是 Android 时(也是6.7.3版本),出现seek之后从头开始播放,seek不到准确的位置

  3. 视频长度 30s 左右

  4. 尝试使用远程调试,断点情况下,执行seek方法,不论传递任何时间,全部从头开始播放

补充说明:

  1. 考虑是由于标签属性导致,删除所有控制属性,修改标签为:<video id="myVideo" muted="{{true}}" bindtimeupdate='bindtimeupdate' objectFit="fill" src="{{videoUrl}}" bindwaiting='bindwaiting'> </video>

  2. 能在播放页面看到视频长度,以及播放按钮

  3. 打断点,调用play()使视频播放,再调用 seek 方法

  4. 视频回到0秒处重新播放

  5. 注:页面中存在live-pusher,live-player,canvas,以及video组件

4 回复

音频也不行,都会重播。

提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

如果去掉同步逻辑,android裸调seek方法,也有这个吗

备注:1.同一demo在播放不同MP4文件时会出现此问题   2.代码片段中的mp4文件在开发者工具中可以正常seek,在真机上seek无效

回到顶部