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


Posted in Javascript onJanuary 02, 2020

效果图展示:  

微信小程序中的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')
 }
})
 
.video_cover{
 width:100%;
 height:100%;
 position:relative;
}
.video_play_icon{
 position:absolute;
 left:50%;
 top:50%;
 transform:translate(-50%,-50%);
 width:40px;
 height:40px;
 z-index:5
}
.video_bg_black{
 position:absolute;
 left:0;
 top:0;
 bottom:0;
 right:0;
 background:rgba(0,0,0,.5);
}
.video_cover_txt{
 display:flex;
 justify-content: flex-end;
 align-items: center;
 text-align:right;
 color: #fff;
 font-size: 28rpx;
 margin-top: 35rpx;
 height: 90rpx;
}
.video_icon_lock{
 width:30rpx;
 height: auto;
 margin:0 30rpx;
}
.video_txt{
 margin:10rpx auto;
}

总结

以上所述是小编给大家介绍的微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
提高代码性能技巧谈—以创建千行表格为例
Jul 01 Javascript
javascript 中对象的继承〔转贴〕
Jan 22 Javascript
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
使用jQuery的将桌面应用程序引入浏览器
Nov 19 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
js中利用tagname和id获取元素的方法
Jan 03 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
JS传值出现中文参数乱码的解决方法
Jun 30 Javascript
微信小程序 form组件详解
Oct 25 Javascript
Vue中render方法的使用详解
Jan 26 Javascript
Vue 动态设置路由参数的案例分析
Apr 24 Javascript
Vue核心概念Action的总结
Jan 18 Javascript
微信小程序地图绘制线段并且测量(实例代码)
Jan 02 #Javascript
Element-UI+Vue模式使用总结
Jan 02 #Javascript
JS代码触发事件代码实例
Jan 02 #Javascript
微信小程序使用自定义组件导航实现当前页面高亮
Jan 02 #Javascript
Vue 实现分页与输入框关键字筛选功能
Jan 02 #Javascript
jQuery实现的图片点击放大缩小功能案例
Jan 02 #jQuery
Vue 实现简易多行滚动&quot;弹幕&quot;效果
Jan 02 #Javascript
You might like
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php类常量的使用详解
2013/06/08 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
利用php下载xls文件(自己动手写的)
2014/04/18 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
无闪烁更新网页内容JS实现
2013/12/19 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
javascript简单比较日期大小的方法
2016/01/05 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
vue观察模式浅析
2018/09/25 Javascript
Webpack 4如何动态切割JS注入文件名详解
2019/07/09 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python抓取框架 Scrapy的架构
2016/08/12 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
Python打印不合法的文件名
2020/07/31 Python
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
2014年文员工作总结
2014/11/18 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书