Spirit_WB
Spirit_WB
  • 发布:2021-03-09 10:10
  • 更新:2021-03-09 10:17
  • 阅读:2130

video在ios端进度条拖动问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows 10教育版

HBuilderX类型: 正式

HBuilderX版本号: 3.0.7

手机系统: iOS

手机系统版本号: iOS 12.4

手机厂商: 苹果

手机机型: iPhone6 / iPhone8

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
  <view class='main'>  
    <video   
      src="https://video.xyyysp.com/03%20%E9%A3%9F%E5%93%81%E7%94%9F%E4%BA%A7%E7%AE%A1%E7%90%86_batch.mp4"  
      id="myVideo"  
      @timeupdate="onPlayer"  
      controls></video>  
  </view>  
</template>  

<script>  
  export default {  
    data() {  
      return {  

      }  
    },  
    onLoad () {  

    },  
    methods: {  
      onPlayer (e) {  
        console.log(e.detail.currentTime)  
        this.videoContext = uni.createVideoContext('myVideo')  
        if (e.detail.currentTime > 500) {  
          this.videoContext.seek(100)  
          this.videoContext.pause()  
        }  
      }  
    }  
  }  
</script>  

<style lang='less' scoped>  
  .main {  
    video {  
      width: 100%;  
    }  
  }  
</style>

操作步骤:

播放视频,监听播放时间变化,拖动进度条,判断当前时间是否大于某一个时间点,大于则返回上一个播放时间点,且暂停,播放视频,监听播放时间变化

预期结果:

视频播放正常,timeupdate可以实时获取正确的播放时间

实际结果:

视频播放时间点与进度条时间点不一致,且timeupdate方法没有触发

bug描述:

video运行在ios上面时,发现当前播放的画面与进度条展示的时间不一致,拖动进度条效果更明显。
当拖动进度条后表现为:进度条时间为500秒,视频时间播放点为495秒
当当前播放时间大于某一个时间点时,使用seek方法定位到上一个播放点并暂停,表现为:首先进度条为500秒,视频播放时间为495秒,此时视频暂停, 但没有立刻定位到seek的时间点。点击播放,此时进度条没有变化,视频在播放,直到视频与进度条时间一致,在这个过程中,timeupdate方法不会被触发。当视频与进度条时间一直后,会定位到seek时间点且再次被暂停。同时,进度条时间为拖动后定位的时间500秒,视频时间为seek时间点,点击播放,timeupdate方法不会触发

2021-03-09 10:10 负责人:无 分享
已邀请:
DCMarvel

DCMarvel

此BUG已经在修复了,等待更新吧
https://ask.dcloud.net.cn/question/115250

该问题目前已经被锁定, 无法添加新回复