这是uniapp编译成支付宝小程序的问题,在支付宝真机上测试,通过拖动进度条比例值,调用视频seek方法来改变视频进度,但是在timeupdate监听函数里返回的时间与上一次的值相关甚大。

- 发布:2024-06-03 14:36
- 更新:2024-07-30 17:10
- 阅读:164
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: x64
HBuilderX类型: 正式
HBuilderX版本号: 4.08
手机系统: Android
手机系统版本号: Android 14
手机机型: 小米k60
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
代码是没问题的,就是调用视频的seek()方法,但监听函数返回值不对
代码是没问题的,就是调用视频的seek()方法,但监听函数返回值不对
实际结果:
代码是没问题的,就是调用视频的seek()方法,应该与监听函数返回值与上一次相差1或不相差
代码是没问题的,就是调用视频的seek()方法,应该与监听函数返回值与上一次相差1或不相差
bug描述:



DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信
反写反馈,你提到 video 的 seek 之后的 timeupdate 数值不准,提供下单页面源码吧, 提供更多信息,有助于定位和解答你的问题。
使用下面案例可以正常 seek 和 timeupdate 没有发生偏移
<template>
<div>
<video @timeupdate='OnTimeUpdate' id="video1"
src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app-video-courses.mp4"></video>
<button @click="onPlay">play/pause</button>
<button @click="onSeek">seek 13s</button>
</div>
</template>
<script lang="ts" setup>
import { ref } from 'vue'
const videoRef = uni.createVideoContext('video1');
console.log(videoRef)
const isPlay = ref(false)
function onPlay() {
if (!isPlay.value) {
videoRef.play()
isPlay.value = true
} else {
videoRef.pause()
}
}
function onSeek() {
videoRef.seek(13)
}
function OnTimeUpdate(e) {
console.log('time update', e.detail);
}
</script>
<style></style>