微信小程序中的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 XMLHttpRequest对象全面剖析
Apr 24 Javascript
js 显示base64编码的二进制流网页图片
Apr 04 Javascript
jQuery选择器实例应用
Jan 05 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
Apr 07 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
Vue实现点击后文字变色切换方法
Feb 11 Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 Javascript
微信小程序实现单列下拉菜单效果
Apr 25 Javascript
Vue开发之封装分页组件与使用示例
Apr 25 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
May 19 Javascript
nuxt引入组件和公共样式的操作
Nov 05 Javascript
JavaScript 事件捕获冒泡与捕获详情
Nov 11 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根据用户语言跳转相应网页
2015/11/04 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
PHP实现简单计算器小程序
2020/08/28 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
jquery 常用操作方法
2010/01/28 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
JavaScript Date对象详解
2016/03/01 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
vue bootstrap小例子一枚
2017/06/09 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
剖析Django中模版标签的解析与参数传递
2015/07/21 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
python opencv之SURF算法示例
2018/02/24 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
python 获取字符串MD5值方法
2018/05/29 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
一份创业计划书范文
2014/02/08 职场文书
抽奖活动主持词
2014/03/31 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
年终工作总结范文2014
2014/11/27 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers