微信小程序中的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 相关文章推荐
JS 继承实例分析
Nov 04 Javascript
JQuery 学习笔记 选择器之一
Jul 23 Javascript
JavaScript 错误处理与调试经验总结
Aug 10 Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
Mar 02 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
理解javascript对象继承
Apr 17 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
JS常用正则表达式总结【经典】
May 12 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
Jan 24 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
微信小程序地图绘制线段并且测量(实例代码)
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
重新封装zend_soap实现http连接安全认证的php代码
2011/01/12 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
CI框架附属类用法分析
2018/12/26 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
简单的js表单验证函数
2013/10/28 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
js定时器出现第一次延迟的原因及解决方法
2021/01/04 Javascript
Python常用模块用法分析
2014/09/08 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
HTML5 Canvas 旋转风车绘制
2017/08/18 HTML / CSS
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
Crucial英睿达法国官网:内存条及SSD固态硬盘升级
2018/07/13 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
营销人才自我鉴定范文
2013/12/25 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
python机器学习Github已达8.9Kstars模型解释器LIME
2021/11/23 Python
Win11 Build 22000.829更新补丁KB5015882发布(附更新修复内容汇总)
2022/07/15 数码科技