uni app video、视频播放开发

视频播放有3种解决方案,使用HTML5的自带video、从HBuilder9.1.3起新增的plus.video的原生视频播放,以及使用Native.js。

  1. HTML5自带video标签,可以播放符合HTML5规范的视频格式。
    注意不含flv、ra等三方商业公司的规范格式。
    HTML5的video在Android上有较多浏览器兼容性问题,这里有篇网友分享的经典文章讲述了HTML5 video的使用注意,强烈推荐观看。
    http://ask.dcloud.net.cn/article/569
    注意事项,Android上使用video标签播放视频时,务必打开硬件加速,否则只有声音没有画面。
    HBuilder8.8.4以前的版本,在Android5的部分rom上是默认关闭硬件加速的,此时需强制打开硬件加速。创建webview时style里有个hardwareAccelerated参数,设置为true。
    硬件加速的详解参考文档http://ask.dcloud.net.cn/article/55
    视频全屏播放时有时不能自动横屏最大化,参考http://ask.dcloud.net.cn/article/1077
    HTML5自带video,如果想实现手势拖动进度,这里有篇参考文章http://ask.dcloud.net.cn/article/13263,但受限于HTML5的性能,拖动无法流畅跟手。
    iOS的视频播放,使用uiWebview和wkWebview有不同效果,wkWebview的视频播放自带AirPlay功能,可以直接连接电视。但需要注意wkWebview和uiWebview的差异,详见http://ask.dcloud.net.cn/article/1318

  2. plus.video的原生视频
    很多开发者对于HTML5自带视频有几处不满:
    a) 支持格式不丰富,比如flv
    b) 全屏后手势拖动不流畅,不能顺滑的拖动进度和音量、亮度
    在开发者提供直播推流时,5+引擎引入了专业视频解码库,也就顺便提供了plus.video的原生视频播放能力。
    但plus.video的原生视频播放会增加不少包体积,需要开发者自己平衡好需求。
    5+App里原生视频控件需要使用js创建,参考http://www.html5plus.org/doc/zh_cn/video.html
    uni-app里的video组件,默认不是HTML的video,默认就是原生video。
    使用原生video注意它的层级较高,覆盖原生控件,在5+app里使用plus.nativeObj.view,在uni-app里使用cover-view或plus.nativeObj.view都可以。

  3. 除了HTML5的video,开发者也可以在Android上使用Native.js调用系统播放器来放视频。
    但视频的播放进度等状态无法回传给js层。
    参考http://ask.dcloud.net.cn/question/614

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )