微信小程序中的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获得CheckBoxList选中的数量
Oct 27 Javascript
javascript代码加载优化方法
Jan 30 Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 Javascript
深入解析contentWindow, contentDocument
Jul 04 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
使用angular写一个hello world
Jan 23 Javascript
jquery实现弹出层效果实例
May 19 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
Oct 22 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
Aug 10 Javascript
微信小程序实现日历小功能
Nov 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+mysql一个名片库程序
2006/10/09 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
基于PHP+jQuery+MySql实现红蓝(顶踩)投票代码
2015/08/25 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
php实现文章置顶功能的方法
2016/10/20 PHP
PHP7 标准库修改
2021/03/09 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
javascript屏蔽右键代码
2014/05/15 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
python进阶教程之模块(module)介绍
2014/08/30 Python
浅谈Python数据类型之间的转换
2016/06/08 Python
python 计算数组中每个数字出现多少次--“Bucket”桶的思想
2017/12/19 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
python实现趣味图片字符化
2019/04/30 Python
用python3读取python2的pickle数据方式
2019/12/25 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
农民致富事迹材料
2014/01/23 职场文书
500字小学生检讨书
2015/02/19 职场文书
六一活动主持词
2015/06/30 职场文书
Python中else的三种使用场景
2021/06/16 Python
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技