用于同步微信浏览器视频自定义进度条与底部control不同步隐藏的问题

First if all ,这个问题出于一个直播教育项目(移动端),由于需求,所以需要一进入页面就将视频横屏播放,但是横屏之后,Tcplayer的视频进度条,监听方式依旧是监听左右滑动,所以进度条在手机横屏状态下,依旧是需要左右滑动改变进度,上图
在这里插入图片描述
基于此,引入了移动框架的滑块功能(并且是竖向的),

<van-slider
        v-model="progress"
        vertical
        @change="timeChange"
        bar-height="5px"
        button-size="20"
      />
      <videoPlayer
        id="player"
        v-if="videoUrl"
        :teacher-btn-click="teacherBtnClick"
        :teacher-btn-txt="isShowTeacherTxt"
        :video-type="VideoType"
        :show-teacher-btn="showTeacherBtn"
        :video-url="videoUrl"
        :isShowTeacher="isShowTeacher"
        :set-seek-time="currentTime"
        :watermark="$auth.user().userExtend.userNo"
        :player-fun="playerFun"
        style="object-fit:fill"
        class="player"
        webkit-playsinline="true"
        playsinline="true"
        x5-playsinline="true"
        x-webkit-airplay="true"
        x5-video-player-type="h5"
        x5-video-player-fullscreen="true"
        x5-video-ignore-metadata="true"
        x5-video-orientation="landscape"
        height="100%"
        width="100%"
      >
data() {
    return {
    Intervaltimer:null,//计时器
      progress: 1,
  },
  //进度
    timeChange() {
      // this.progress=this.current
      //这里的currentTime是需要传入组件的值,激素当前秒数 
      //视频总时长*(滑块进度条的值/100)  滑块的值是百分制
      this.currentTime = this.duration * (this.progress / 100);
      
    },

在mounted生命周期里,监听control的显示隐藏样式,并且同步复制给滑块进度条

mounted() {
    setTimeout(() => {
    this.Intervaltimer=setInterval(() => {
      var airDom = document.getElementsByClassName("vcp-panel-bg")[0];
      var progressDom = document.getElementsByClassName("van-slider")[0];
      var showDom = document.getElementsByClassName("vcp-controls-panel")[0];
      progressDom.style.opacity=getComputedStyle(showDom).opacity//获取CSS属性值将获取到的css属性赋值给进度条 同步样式
      // console.log(showDom.className.indexOf('show') !== -1) //为-1不包含
    }, 200);
    },500)

destoryed里清掉Intervaltimer

destroyed(){
    clearInterval(this.Intervaltimer)
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值