微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案

效果图展示:  

实现方法:

在video中添加一个cover-view,在cover-view写两个cover-image,一个用来存储封面图、一个用来存放播放按钮,同级写一个cover-view用来完成封面上的文字,设置绝对定位,水平垂直居中,在播放按钮上添加点击事件,点击之后隐藏cover-view,最后在监听视频结束事件,重新填充封面跟播放按钮就可以了。

代码:

<video id="myVideo" src="{{videoSrc}}" enable-danmu controls show-fullscreen-btn show-center-play-btn="{{false}}" auto-pause-if-navigate auto-pause-if-open-native show-play-btn object-fit="fill" bindpause="bindpause" bindended="bindended" >
      <cover-view class="video_cover" wx:if="{{isShow}}" bindtap="bindplay">
        <cover-image src="{{videoCoverImg}}" mode="widthFix"></cover-image>
        <cover-image src="{{videoPlayIcon}}" mode="widthFix" class="video_play_icon"></cover-image>
        <cover-view class="video_bg_black">
          <cover-view class="video_cover_txt">
            <cover-view>
              <cover-view class="video_txt">1天1元,开通VIP</cover-view>
              <cover-view class="video_txt">更多优质视频等你来解锁</cover-view>
            </cover-view>
            <cover-image src="{{videoLockIcon}}" class="video_icon_lock" mode="widthFix"></cover-image>
          </cover-view>
        </cover-view>
      </cover-view>
</video>
Page({
  data: {
    isShow:true,
    videoSrc:'http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400',   // 视频
    videoCoverImg:'http://img5.imgtn.bdimg.com/it/u=1672477765,2527992874&fm=26&gp=0.jpg',   // 视频封面图
    videoPlayIcon:'http://39.105.134.221:8080/test/source1.png',  // 视频播放icon
    videoLockIcon:'http://39.105.134.221:8080/test/source2.png',   // 视频播放锁
  },
  onReady: function () {
    this.videoContext = wx.createVideoContext('myVideo')
  },
  // 点击封面自定义播放按钮时触发
  bindplay() {
    this.setData({
      isShow:false
    })
    this.videoContext.play();
    console.log('play')
  },
  // 监听播放到末尾时触发
  bindended(){
    console.log('bindended')
    this.setData({
      isShow: true
    })
    this.videoContext.ended();
  },
  // 监听暂停播放时触发
  bindpause(){
    console.log('pause')
  }
})

转载:https://blog.csdn.net/Miss_liangrm/article/details/103779498

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值