一个简单的移动端视频组件的实现

据说移动端需要个视频组件,然后自己尝试了一下,不知道能不能用上,有问题希望大家提出来,(>=

这里还是采用了标签video的方式来实现的视频播放。

当然video存在一些问题

视频在最顶层的问题,这里需要区分不同的系统和系统版本,

ios系统

在ios8以下,video处于最顶层

在ios8以上ios10以下的iphone上视频在不播放时,不会处于最顶层,如果播放,视频就会自动全屏,处于最顶层,

在ios10以上的iphone系统上视频不播放和播放时,都不会自动全屏,并处于最顶层。

android系统

在安卓系统下,video处于最顶层,播放视频会自动全屏,但是最近发现在侥幸三星手机自带的浏览器下video在播放和不播放时都不会处于最顶层。

以上是对移动端有关video支持情况的一点了解,如果有错误或者不完整的地方,希望大家补充。

来简单的说明一下自己尝试实现的组件(主要是基于ios中较好支持video的系统版本实现)

1>创建是在初始化配置后自动创建, 所用方法

create();

2>在创建后进行一些事件的功能绑定,功能包括(播放,暂停,拖动视频进度条,视频源的切换,全屏播放控制,退出全屏等)

主要用到的事件类型

onclick, ontouchstart, ontouchmove

3>在实现时注意遇到的问题,

为了实现自定义的控制视频面板,取消默认的全屏播放,当然就要影藏video自带的默认控制面板,禁止全屏。

//采用css的方式影藏(最好添加video父元素,不然会影藏掉所有的video元素的控制条)

#videocom video::-webkit-media-controls-enclosure{

display:none;

}

//在播放视频前,采用的是在视频数据加载完成的情况下才能开始播放

that.selele('videoele').onloadedmetadata = function() {

that.selele('videoele').play();

}

但是在andrioid机上点击播放后,视频正常播放的情况下,再次触摸video层会出现默认播放控制面板,所以在安卓机上不做自定义控制面板。(然而三星自带浏览器,不会出现默认的播放控制面板,为了能够保证三星自带浏览器正常观看视频,所以在video上增加了播放和暂停)

4>引用方法

//引入对应的js文件

$video.init({

el:"main",//创建的父元素id

btncolor:"#c9c9c9",//控制按钮的颜色

bgcolor:"",//控制条的背景颜色

bgprocolor:"",//进度条显示进度颜色

autoplay:false,//开启自动播放,false不能自动播放

loopplay:true,//true自动循环播放,false不自动循环播放

controlsstate:{

playbtn:true,//播放和暂停按钮显示,false不显示

toggbtn:true,//下一个和上一个视频切换按钮显示,false不显示

processbtn:true,//播放进度条显示,false不显示

fullbtn:true//全屏按钮显示

},

//视频源地址支持mp4

src:["http://res.nie.netease.com/r/video/20161017/3d535a71-3ef7-4f16-974c-643812e97a2d.mp4","http://res.nie.netease.com/r/video/20161017/3d535a71-3ef7-4f16-974c-643812e97a2d.mp4","http://v.crazynote.netease.com/2016/1203/01bcca1963e8ac1e1d43eb83a29a272dqt.mp4","http://v.crazynote.netease.com/2016/1203/01bcca1963e8ac1e1d43eb83a29a272dqt.mp4","http://res.nie.netease.com/r/video/20161017/3d535a71-3ef7-4f16-974c-643812e97a2d.mp4"]

});

demo地址 https://test.nie.163.com/test_html/test/test/m/video/

gitlab地址 https://git-wz.nie.netease.com/test/test-zt-m-video-20170703

android视频用什么组件,一个简单的移动端视频组件的实现相关推荐

  1. 基于ForkJoin构建一个简单易用的并发组件

    2019独角兽企业重金招聘Python工程师标准>>> 基于ForkJoin构建一个简单易用的并发组件 在实际的业务开发中,需要用到并发编程的知识,实际使用线程池来异步执行任务的场景 ...

  2. Android apps浅析01-Amazed:一个简单但令人上瘾的加速度为基础的大理石指导游戏。

    Android apps浅析01-Amazed:一个简单但令人上瘾的加速度为基础的大理石指导游戏. 这个例子中只有4个类,一个绘制大理石类Marble,一个绘制迷宫类Maze,一个Amazed视图类, ...

  3. Android apps浅析01-Amazed:一个简单但令人上瘾的加速度为基础的大理石指导游戏。...

    Android apps浅析01-Amazed:一个简单但令人上瘾的加速度为基础的大理石指导游戏. 这个例子中只有4个类,一个绘制大理石类Marble,一个绘制迷宫类Maze,一个Amazed视图类, ...

  4. 组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs

    组件分享之后端组件--一个简单且高度可扩展的分布式文件系统seaweedfs 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题 ...

  5. android计算器功能实现,在android中利用 studio实现一个简单的计算器功能

    在android中利用 studio实现一个简单的计算器功能 发布时间:2020-11-07 15:35:20 来源:亿速云 阅读:168 作者:Leah 这篇文章将为大家详细讲解有关在android ...

  6. (简单课设)前端小白刚做的一个简单的移动端项目的分享和总结

    前端小白刚做的一个简单的移动端项目的分享和总结 所用技术为简单的div+css 直接上图片 代码部分 小滴服务 接下来是企业项目部分 接下来是我的小滴部分 (另外两个部分内容非常简单,没必要粘贴代码了 ...

  7. Android投票列表设计,AndroidCustomView一个简单的投票排名对比图

    简介(投票 ,排名对比图) 一个简单的自定义 View 可高度定制 支持设置替换 支持 ,和反对的图标 支持自定义线宽和支持反对线的字体颜色 设置比分值 效果图 字段 属性 OppositeBitma ...

  8. 【一个简单的vue公式编辑器组件】

    vue 一个简单的公式编辑器组件 示例 一个基于vue实现数据统计公式的基本功能. 新建一个 formula.vue 组件, 使用 <formula ref="formulaPage& ...

  9. 如何在线录制视频?教您一个简单的方法!

    案例:怎样实现在线录屏? [听朋友说在线录屏更加便捷,我也想学习如何在线录制电脑屏幕.有没有小伙伴有在线录屏的经验,求好心人给一个简单的方法!] 在今天的数字时代,我们经常需要录制电脑屏幕来制作教学视 ...

最新文章

  1. 开放神经网络交换(ONNX)工具
  2. 对模拟int3的探索
  3. Python公众号开发部分代码开源
  4. 决定将本博客技术知识从VS.Net转型SuperMap产品动态与开发
  5. 通过 Go 语言来实现 DDD 分层设计,美滋滋!
  6. 正则基础之——神奇的转义
  7. java session 生命周期_java之hibernate之session中对象的生命周期
  8. 计算机常见的户动方法有哪些,《360doc个人图书馆》常用操作方法
  9. 大数据、物联网、区块链:融合趋势三重奏的好处
  10. AngularJS Provider/Service/Factory 使用
  11. CentOS安装系统时硬盘分区建议
  12. 一些常用jar包作用
  13. IOS恢复备份使用帮助
  14. 团队-科学计算器-代码设计规范
  15. Excel导入oracle的几种方法
  16. Java集合笔记,实用!!
  17. 计算机报名照片无法显示,有关人事考试照片审核处理工具的问题
  18. html js制作地图,前端使用D3.js制作地图
  19. 人大金仓数据库高可用集群部署教程
  20. Passive Aggressive Alogrithm

热门文章

  1. 移动IP技术概述(转)
  2. Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 iBrand API 教程
  3. 华为交换机配置时区_华为交换机配置NTP实现时间自动同步
  4. 天涯论坛为什么不能删除或修改自己发表的贴子
  5. Nature:用2斤DNA就能存储世界上所有的数据
  6. unity3D 下雨效果实现
  7. [转载]美国名校的与机器视觉相关的研发中心网址
  8. [人工智能-深度学习-61]:生成对抗网络GAN - 图像融合的基本原理与案例
  9. 论文模型构建的步骤_Deep Learning of Graph Matching论文解读
  10. python eof是什么_python eoferror是什么异常