j***@aliyun.com
j***@aliyun.com
  • 发布:2019-10-16 14:08
  • 更新:2023-02-06 16:09
  • 阅读:2773

video组件设置initial-time以后,切换视频Src,initial-time不变

分类:uni-app

video组件initial-time 设置为100,再次切换video视频的src,initial-time 设置为0,在APP上仍然从100S开始播放

2019-10-16 14:08 负责人:CLP 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

Android还是iOS平台?请提供复现问题的Demo应用。

  • j***@aliyun.com (作者)

    ios平台

    <template>

    <view class="app">

    <video :src="videoSrc" id="video" :initial-time="currentTime" autoplay="true"></video>

    <view @click="timeTo">切换</view>

    </view>

    </template>

    <script>

    export default {

    data() {

    return {

    videoSrc: '',

    currentTime: 0

    }

    },

    onLoad(option) {

    this.videoContext = uni.createVideoContext("video");

    this.currentTime = 100;

    this.videoSrc =

    "http://1253639599.vod2.myqcloud.com/e6c8f55bvodtransgzp1253639599/8316c3507447398155124877333/v.f30.mp4"

    },

    methods: {

    timeTo() {

    this.videoContext.seek('');

    this.currentTime = 0;

    this.videoSrc =

    "http://1253639599.vod2.myqcloud.com/e6c8f55bvodtransgzp1253639599/8315224d7447398155124874423/v.f30.mp4"

    }

    }

    }

    </script>

    2019-10-16 15:51

  • j***@aliyun.com (作者)

    这个功能很重要 可是IOS手机上一直不起作用

    2019-10-16 15:54

  • CLP

    回复 j***@aliyun.com: 你发的代码,是vue页面的还是nvue的? 能发个完整的demo吗?

    2019-10-16 16:14

  • j***@aliyun.com (作者)

    回复 CLP: vue页面, 这个就是完整的demo, 放到项目就能跑,整个项目我不知道从哪里发,麻烦您了

    2019-10-16 18:49

  • CLP

    回复 j***@aliyun.com: this.videoContext.seek(0);你用这个不能实现你的功能吗?initial-time 这个属性,在vue里和5+项目里,不能动态改变的,文档也是这么写的。另外,安卓这个属性也是不能动态修改的

    2019-10-16 20:00

  • j***@aliyun.com (作者)

    回复 CLP: this.videoContext.seek(100) 手机上也是不起作用的

    2019-10-17 12:54

  • j***@aliyun.com (作者)

    回复 j***@aliyun.com: 回复 DCloud_IOS_CLP: 而且seek(100)以后,进度条当前播放时间0:00:00一直不变,除非手动触发才正常

    2019-10-17 13:02

  • CLP

    回复 j***@aliyun.com: this.videoContext = uni.createVideoContext("myVideo", this);

    this.videoContext.seek(100);我试的官方hellou uniapp这个demo是可以的。如果你的不行,发个demo来,添加附件能提交demo

    2019-10-17 14:05

  • 1***@qq.com

    回复 CLP: 我用你的方法试了,还是不行啊,为什么呢

    2019-12-21 10:42

  • 1***@qq.com

    回复 CLP: 我试了,官方案例,如果写死了src,可以,但是如果动态的src,还是没有效果,难受

    2019-12-21 11:12

  • 飞酒

    回复 CLP: 说明官方的兼容不好,有的可以有的不可,需要优化

    2020-09-19 16:27

  • CLP

    回复 飞酒: 你是有具体什么问题吗?

    2020-09-21 20:10

  • 2***@qq.com

    回复 CLP: 碰到同样问题,刚进去可以,动态切换src后就不能seek了

    2020-09-23 10:18

  • CLP

    回复 2***@qq.com: 发帖,提供demo,描述清楚背景。以后回复问题不要回复这种模糊的回答,直接发帖,增加沟通效率

    2020-09-23 11:23

  • 1***@qq.com

    let player = uni.createVideoContext('myVideo')

    player.stop();

    that.initialtime=res.data.log.datetime;

    player.play();

    赋值的时候先停止视频,赋值后再继续播放。

    本人实测有效

    2022-01-17 17:04

2***@qq.com

2***@qq.com

我也遇到了同样的问题,手机端的浏览器都不行

6***@qq.com

6***@qq.com

initial-time 无效,微信小程序

x***@163.com

x***@163.com

遇到同样问题,找了很久都没答案。突然看到这里来纠正下
如果动态切换src不要设置initial-time属性,这东西就是个坑。
很简单,直接在src重新赋值之后:
var videoContext = uni.createVideoContext('myVideo')
setTimeout(()=>{videoContext.seek(Number('播放位置')},0)
不接受反驳

要回复问题请先登录注册