最近在做一个视频播放的功能,要求如下:

1、实现视频的全屏播放;

2、实现视频相关信息的展示;

3、实现视频滑动上下切换效果;

肯定选择用原生组件video了,真是不用不知道,一用都是坑;

首先,组件的层级最高;编译器和真机呈现的效果完全不一样;

其次,相关需求要求很高,有些效果很难实现;

最后,组件真是太坑了,如有另一种选择,肯定不用它;

解决方案:

幸好微信提供了可以覆盖在原生组件的组件cover-view,这样能解决视频信息在组件表层的显示;

但是,cover-view又没有提供滑动事件,根本没法监听滑动事件;各种尝试后,选择了视频层级上裹一层canvas,可以发挥自己的能力去处理滑动监听了;

还有一个问题就是全屏播放问题,现在微信提供全局的顶部栏的自定义配置。但自定义配置实在是耗神费力,需要所有页面都自定义顶部栏;就暂时放弃了,显示的全屏;

幸好,下一个版本的微信将提供,单个页面的全屏配置;

好了,今天就先分享到这了,踩坑 填坑,真是一份吃力不讨好的过程;以后再贴git源码了,,,

小程序视频播放组件video的更多相关文章

  1. 微信小程序的组件总结

    本文介绍微信小程序的组件 视图容器 基础内容 表单组件 导航组件 媒体组件 视图容器 view 布局容器 <view hover-class='bg'>222</view> 可 ...

  2. 小程序 map组件问题 cover-view问题

    使用小程序的组件map时 在开发者工具上一切顺利 但是在真机预览时 发现地图的层级是最高的 任何标签都覆盖不了它 调整z-index值并没有什么效果 原因是 微信小程序的map.video.canva ...

  3. 微信小程序image组件binderror使用例子(对应html、js中的onerror)

    官方文档  binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong' ...

  4. 小程序web-view组件

    不久前微信小程序发布了web-view组件,这个消息在各个圈里引起不小的涟漪.近期正好在做小程序的项目,便研究了一下这个让大家充满期待的组件.   1,web-view这个组件是什么鬼? 官网的介绍: ...

  5. 小程序input组件获得焦点时placeholder内容有重影

    这个问题是小程序input组件的bug,目前的解决办法可以,在input标签上加一个其他标签,显示placeholder内容,获得焦点时消失,失去焦点时候再让其显示 <view class='i ...

  6. 微信小程序倒计时组件开发

    今天给大家带来微信小程序倒计时组件具体开发步骤: 先来看下最终效果: git源:http://git.oschina.net/dotton/CountDown 分步骤-性子急的朋友,可以直接看最后那段 ...

  7. [转]小程序web-view组件

    本文转自:https://www.cnblogs.com/-nothing-/p/7910355.html 1,web-view这个组件是什么鬼? 官网的介绍:web-view 组件是一个可以用来承载 ...

  8. 微信小程序input组件抖动及textarea组件光标错位解决方案

    问题一: 使用微信小程序input组件时,在移动端唤起focus或blur事件时,因光标占位导致内容出现叠影及抖动现象. 解决方案: 用<textarea>组件代替了<input/& ...

  9. 推荐3个小程序开源组件库——Vant、iView、ColorUI

    推荐3个小程序开源组件库 在进行小程序开发时,经常会遇到编写组件方面的阻碍,这让我们花费大量的时间在页面以及 CSS 样式编写上.因此可以使用开源组件库,有些复杂的组件可以直接拿来使用,节省开发时间, ...

随机推荐

  1. python线程condition条件锁应用实例

    import time import threading # 吃火锅鱼丸 guo = [] suo = threading.Condition() #条件锁 # 生产者负责生产 class Produ ...

  2. Java使用RSA加密解密签名及校验

    RSA加密解密类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

  3. java protected修饰符说明

    1. 简介 对protected修饰符进行阐述,结合Object类的clone方法进行说明.其中clone方法如下:protected Object Object.clone(): 关于protect ...

  4. mysql存储过程和执行计划案例

    开启event_scheduler指令: SET GLOBAL event_scheduler = ON;SET @@global.event_scheduler = ON;SET GLOBAL ev ...

  5. goodsSearch初始化选中代码

    watch: { selectGoodsList (val) { let list = [] val.forEach(item => { this.goodsList.forEach((tag, ...

  6. 使用Vue-cli搭建多页面应用时对项目结构和配置的调整

    前提:在这里使用的是webpack模板进行搭建 第一步.安装Vue-cli并且进行初始化 首先打开git,在里面使用npm全局安装Vue-cli,并且进行初始化 npm i vue-cli -g 然后 ...

  7. 小白的python之路11/15 awk 77-78

    awk -F指定分隔符  eg下图指定 : 为分隔符,$1 $4 NF表示以分隔符为表准,该行分了几段    $NF表示取最后一段 正则表达式 表示打印第一个开头的用户名awk -F: '/nolog ...

  8. java课堂笔记4

  9. websocket+rabbitMQ

    拉取镜像:docker run -d --hostname my-rabbit --name some-rabbit  -p 5672:5672 -p 15672:15672 -p 61613:616 ...

  10. awk使用学习

    awk使用中常用的几个方法: 一.在某一列中查询符合条件的值,并返回该行数据 [root@localhost bus_route]# cat 123.log one two three four1 2 ...