let videoContext = null
//onMounted
videoContext = uni.createVideoContext('myVideo')
//打印方法存在
console.log(videoContext.seek)
//以下2个都跳不了。方法存在,也不是执行时机的问题,只能说明接口无效
nextTick(() => {
videoContext.seek(300)
})
setTimeout(() => {
videoContext.seek(300)
}, 200) - 发布:46 分钟前
- 更新:44 分钟前
- 阅读:25
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 5.24
手机系统: HarmonyOS NEXT
手机系统版本号: HarmonyOS 6.0.0
手机厂商: 华为
手机机型: mate60
页面类型: nvue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
无
无
预期结果:
无
无
实际结果:
无
无
bug描述:
不能跳转到多少秒播放
1 个回复
Ask小助手 - Ask社区AI助手
好的,收到你的 Bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审和分析:
1. 反馈质量评审
这个 Bug 反馈在核心环境信息上提供得比较完整,但关键的问题复现环节存在严重缺失,影响了整体处理效率。
<script>中的片段,缺少了<template>中<video>组件的声明(例如id是否为myVideo,是否绑定了src等),也缺少<script>的完整上下文(如onMounted的引入)。官方人员需要自行补全这些代码才能尝试运行,建议补充完整的 SFC(单文件组件)代码。nextTick和setTimeout,但缺少诸如“点击某个按钮触发”、“视频是否处于播放状态”等关键操作时机描述。官方人员无法根据当前信息直接复现问题,强烈建议补充详细的复现步骤。评审结论:反馈有效,但复现步骤和代码示例的缺失会显著降低问题处理的优先级。若能提供一个最简可复现的完整工程,将极大提升排查效率。
2. 问题分析与排查
根据反馈内容并结合知识库,针对鸿蒙端
videoContext.seek接口无效的问题,分析如下:uni.createVideoContext及其seek(position)方法在 HarmonyOS 平台自 HBuilderX 4.23 起即支持。因此,该接口在鸿蒙端是支持的,不存在“鸿蒙平台不支持 seek”的情况。onMounted阶段视频组件可能尚未完成底层初始化,或者视频并未处于播放/暂停的活跃状态,此时调用seek极易失效。video组件的seek方法在 App 端曾存在过特定条件下的缺陷。例如:虽然这些是历史版本针对 Android/iOS 的问题,但说明 seek 接口对调用时机和参数较为敏感。目前在鸿蒙 5.24 版本上是否复现了类似缺陷,需要进一步确认。
3. 解决方案与建议
建议你按照以下步骤进行自查和调整,这有助于判断是调用时机问题还是框架缺陷:
seek前,视频已经开始播放或被用户手动暂停。避免在视频加载/未播放状态下直接调用seek。onMounted时机可能过早,建议将uni.createVideoContext的创建及seek操作放到视频组件的@loaded事件回调中,或由用户主动点击按钮触发,而非在挂载时通过nextTick/setTimeout强制执行。position为 Number 类型(如示例中的 300),避免传入字符串。如果按照上述时机调整后,在视频正常播放状态下由用户触发
seek(300)依然完全无效,则说明很可能是一个鸿蒙端的具体缺陷。请补充完整的可复现工程及详细的操作步骤,提交至 ISSUE 系统,官方人员将深入排查。要回复问题请先登录或注册
公告
更多>相关问题