微信小程序中的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实用技巧(一)
Aug 16 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
Apr 24 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
Apr 17 Javascript
基于Vue.js实现数字拼图游戏
Aug 02 Javascript
通过BootStrap实现轮播图的实际应用
Sep 26 Javascript
详解Javascript中的原型OOP
Oct 12 Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
Dec 02 Javascript
javascript验证香港身份证的格式或真实性
Feb 07 Javascript
JS实现数组去重复值的方法示例
Feb 18 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
Jan 03 Javascript
Angular CLI 使用教程指南参考小结
Apr 10 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写的简易聊天室代码
2011/06/04 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
ajax java 实现自动完成功能
2012/12/19 Javascript
Javascript事件实例详解
2013/11/06 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
js过滤HTML标签完整实例
2015/11/26 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
openlayers实现地图测距测面
2020/09/25 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
python提取页面内url列表的方法
2015/05/25 Python
Python入门教程之运算符与控制流
2016/08/17 Python
Python+PIL实现支付宝AR红包
2018/02/09 Python
pandas对指定列进行填充的方法
2018/04/11 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
六种酷炫Python运行进度条效果的实现代码
2020/07/17 Python
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
expedia比利时:预订航班+酒店并省钱
2018/07/13 全球购物
大学生学雷锋活动总结
2014/06/26 职场文书
材料化学专业求职信
2014/07/15 职场文书
盗窃案辩护词
2015/05/21 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库