微信小程序中的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 相关文章推荐
javascript中length属性的探索
Jul 31 Javascript
JavaScript基础语法让人疑惑的地方小结
May 23 Javascript
JSON无限折叠菜单编写实例
Dec 16 Javascript
node.js中的fs.mkdir方法使用说明
Dec 17 Javascript
angularJS 中$scope方法使用指南
Feb 09 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
如何利用AngularJS打造一款简单Web应用
Dec 05 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
JS数组方法push()、pop()用法实例分析
Jan 18 Javascript
vue+koa2搭建mock数据环境的详细教程
May 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模板类代码
2008/09/07 PHP
学习php中的正则表达式
2014/08/17 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
javascript使用定时函数实现跳转到某个页面
2013/12/25 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
实现vuex原理的示例
2020/10/21 Javascript
Python 中 Meta Classes详解
2016/02/13 Python
详解flask表单提交的两种方式
2018/07/21 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
自定义Django Form中choicefield下拉菜单选取数据库内容实例
2020/03/13 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
2020/09/03 Python
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
婴儿地球:Baby Earth
2018/12/25 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
总经理秘书工作职责
2013/12/26 职场文书
优秀老师事迹材料
2014/02/05 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
质量标语大全
2014/06/12 职场文书
狮子林导游词
2015/02/03 职场文书