微信小程序中的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 相关文章推荐
让您的菜单不离网站
Oct 03 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
jQuery的deferred对象使用详解
Sep 25 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
Node.js操作redis实现添加查询功能
May 25 Javascript
vue组件Prop传递数据的实现示例
Aug 17 Javascript
AngularJS中控制器函数的定义与使用方法示例
Oct 10 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
May 31 Javascript
小程序登录态管理的方法示例
Nov 13 Javascript
layui实现显示数据表格、搜索和修改功能示例
Jun 03 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 stripslashes和addslashes的区别
2014/02/03 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
JS交换变量的方法
2015/01/21 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
2016/10/08 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
对python模块中多个类的用法详解
2019/01/10 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
乌克兰在线商店的价格比较:Price.ua
2019/07/26 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
金融事务专业毕业生求职信
2014/02/23 职场文书
交通事故协议书范本
2014/11/18 职场文书