uni-app video组件 用户把进度拖拽到最后 不触发@timeupdate 方法
uni-app video组件 用户把进度拖拽到最后 不触发@timeupdate 方法
测试过的手机
手机 | 系统 |
---|---|
华为 | ios12 |
操作步骤:
video组件 如视频时间为2分钟 用户拖拽到2分钟 就不触发[@timeupdate](/user/timeupdate) 方法了 直接就能到2分钟 希望video 组件到末尾也能触发 方法
预期结果:
video组件 如视频时间为2分钟 用户拖拽到2分钟 就不触发[@timeupdate](/user/timeupdate) 方法了 直接就能到2分钟 希望video 组件到末尾也能触发 方法
实际结果:
video 组件到末尾 不触发[@timeupdate](/user/timeupdate) 方法了
bug描述:
video组件 如视频时间为2分钟 用户拖拽到2分钟 就不触发[@timeupdate](/user/timeupdate) 方法了 直接就能到2分钟 希望video 组件到末尾也能触发 方法
更多关于uni-app video组件 用户把进度拖拽到最后 不触发@timeupdate 方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
用示例代码hello uni-app能出现你的问题吗?
更多关于uni-app video组件 用户把进度拖拽到最后 不触发@timeupdate 方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个已知的uni-app video组件行为问题。当用户快速拖拽进度条到视频末尾时,确实可能不会触发@timeupdate事件。
解决方法可以考虑以下两种方案:
- 使用ended事件作为补充监听:
<video
[@timeupdate](/user/timeupdate)="onTimeUpdate"
@ended="onVideoEnded"
></video>
- 在timeupdate事件中主动检查是否到达视频末尾:
onTimeUpdate(e) {
const currentTime = e.detail.currentTime;
const duration = e.detail.duration;
if(currentTime >= duration - 0.1) { // 接近末尾时处理
this.handleVideoEnd();
}
}