微信小程序中的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 相关文章推荐
artDialog双击会关闭对话框的修改过程分享
Aug 05 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
Feb 17 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
浅谈Angular 中何时取消订阅
Nov 22 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
VUE v-for循环中每个item节点动态绑定不同函数的实例
Sep 26 Javascript
jquery 验证用户名是否重复代码实例
May 14 jQuery
微信小程序地图绘制线段并且测量(实例代码)
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缓存类代码(附详细说明)
2011/06/09 PHP
php连接mssql数据库的几种方法
2013/02/21 PHP
php把session写入数据库示例
2014/02/26 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP实现验证码校验功能
2017/11/16 PHP
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
javascript中的document.open()方法使用介绍
2013/10/09 Javascript
用Js实现的动态增加表格示例自己写的
2013/10/21 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
2016/11/02 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
vue绑定class的三种方法
2020/12/24 Vue.js
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
动物科学专业毕业生的自我评价
2013/11/29 职场文书
养殖项目策划书范文
2014/01/13 职场文书
2014年防汛工作总结
2014/12/08 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
党员带头倡议书
2015/04/29 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
阿甘正传观后感
2015/06/01 职场文书
商务宴会祝酒词
2015/08/11 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
Elasticsearch 配置详解
2022/04/19 Java/Android