微信小程序中的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 相关文章推荐
JQuery 学习笔记 选择器之三
Jul 23 Javascript
在多个页面使用同一个HTML片段的代码
Mar 04 Javascript
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
上传的js验证(图片/文件的扩展名)
Apr 25 Javascript
js实现简单div拖拽功能实例
May 12 Javascript
JavaScript面试题大全(推荐)
Sep 22 Javascript
jQuery实现验证码功能
Mar 17 Javascript
浅谈webpack 自动刷新与解析
Apr 09 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
Angular2实现的秒表及改良版示例
May 10 Javascript
JavaScript onclick事件使用方法详解
May 15 Javascript
vue项目实现多语言切换的思路
Sep 17 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/03/15 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
15 个 JavaScript Web UI 库
2010/05/19 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
AngularJS中的promise用法分析
2017/05/19 Javascript
vue2.0移除或更改的一些东西(移除index key)
2017/08/28 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
JS在if中的强制类型转换方式
2018/07/15 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
python自动化测试实例解析
2014/09/28 Python
python统计日志ip访问数的方法
2015/07/06 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
django 基于中间件实现限制ip频繁访问过程详解
2019/07/30 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
详解Python中的路径问题
2020/09/02 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
周年庆典邀请函范文
2014/01/23 职场文书
毕业自我评价
2014/02/05 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
自主招生教师推荐信
2014/05/10 职场文书
学校教研活动总结
2014/07/02 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
30岁前绝不能错过的10本书
2019/08/08 职场文书
人生感悟经典句子
2019/08/20 职场文书
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS