看到这个标题很兴奋了吧,但是内容肯定会让你失望。。。这先告诉结果了,我没在2.3上搞出什么名堂来。

起因是项目需要在android 2.3.*的版本上调用有video标签的页面,调研是否支持。百度,google一大堆,首先确定的是2.3以上是对html有支持的,3.0以上支持的比较好,2.3.*系列貌似问题比较多。支持依据可以看看以下两个网站:

3.0以上版本webview对html5的支持也是默认关闭的,需要一些设置,而官方文档对这个我只找到一句比较奇葩的说明:

HTML5 Video support In order to support inline HTML5 video in your application, you need to have hardware acceleration turned on, and set a WebChromeClient. For full screen support, implementations of onShowCustomView(View, WebChromeClient.CustomViewCallback) and onHideCustomView() are required, getVideoLoadingProgressView() is optional.

说的也算清楚,只要两步:1. 打开硬件加速(3.0以上版本支持)2. set一个WebChromClient

至于后面的都是对全屏的支持,这里就不渗入了,没那个需求。。关于WebViewClient与WebChromeClient是什么意思,有何区别,网上一捞一大把。

so, 我以4.2.2的sdk开发,代码如下:

public class MainActivity extends Activity {

WebView webView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webView = (WebView) findViewById(R.id.webView);

webView.getSettings().setJavaScriptEnabled(true);

webView.getSettings().setAllowFileAccess(true);

webView.getSettings().setPluginsEnabled(true);

webView.getSettings().setAllowFileAccess(true);

webView.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

Log.d("javascript", "js function call");

webView.loadUrl("javascript:playVideo()");

}

});

webView.setWebChromeClient(new WebChromeClient());

webView.loadUrl("http://****/html5/index.html");

}

} 其中有网上找来的实现autoplay的方法,即在页面中加入一段js代码:

function playVideo() {

var video = document.getElementById(".video");

video.play();

}

在webView加载完成后,调用的方法onPageFinished()中调用该js方法实现autoplay属性失效情况下的自动播放。

当然,在manifest文件中application标签上加了android:hardwareAccelerated="true"硬件加速的开启。

至此,在我GN 4.2的系统上,mp4格式的视频乖乖的播放了。

接下来,我去掉了硬件加速,跑在了2.3.3上,静悄悄,很不美好。。。。

总结:

1. 在2.3上没找到比较好的方法,有位大神封装的HTML5WebView,在googleCode上,试了一下在2.3上一部分视频格式是可以的,但是我看了源码对WebChromeClient的重写没发现特别的设置。

2. 3.0以上版本基本按照这个写法是可行的。各位看官如果有2.3上面的实现,安特一下我。。

android webview video标签,Android WebView支持html5 video标签相关推荐

  1. ie8 html 语音标签,让IE8支持html5中的video标签

    这是一篇综合几个前辈的解决方案. 使用video的时候,要遇到的问题. ①不兼容ie9及其以下版本 在 里添加两行, 参考张鑫旭前辈的博客,但是在ie8中薄播放. ②又要无休止的找ie8的解决方法,自 ...

  2. html video标签播放直播视频,HTML5 Video 标签播放及控制视频

    Video 是 HTML5 中新增的标签,使用 Video 标签可以播放 ogg.mp4.webm 等格式的视频,Video 标签的引入,减少前端页面对 Flash 动画的依赖. 0x0 预备知识 不 ...

  3. web服务软件 html5,配置WEB服务器(apache,nginx),支持 html5 video(ogv, webm.etc)播放...

    nginx默认丢失了 html5视频的媒体类型,比如Ogg\Ogv\WebM等,要支持这些媒体类型, 必须自己添加相应媒体类型到 nginx/conf/mime.types (Windows版本)文件 ...

  4. html中mark标记,html5 mark标签是什么意思?html5 mark标签的作用又是什么?

    本篇文章为大家介绍的是html5中的mark标签,文中介绍了包括html5 mark标签中的定义和使用的一些说明,还有,关于html5 mark标签的一些作用和实例代码,mark标签使用简单,就是使文 ...

  5. html5哪个标签首字母大写,HTML5中标签和常用规则有哪些?html5标签以及规则的介绍...

    这篇文章给大家介绍的内容是关于HTML5中标签和常用规则有哪些?html5标签以及规则的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 命名规则 [强制]class:必须单 ...

  6. Video标签事件与属性 HTML5 Video Events and API

    属性 描述 audioTracks 返回可用的音轨列表(MultipleTrackList对象) autoplay 媒体加载后自动播放 buffered 返回缓冲部件的时间范围(TimeRanges对 ...

  7. 让低版本浏览器支持html5的标签

    原理就是首先用js的createElement来创建,之后在使用 document.createElement('header'); <header><hgroup>头部信息& ...

  8. 在html5中 空标签可以不写,HTML5中标签之间尽量不要加enter或者空格

    HTM友,记基开前不接些前家我告对猿果水使钮控L5中如果标签之间随意使用换行或者空格可能会出现意向不朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到随到的bug. 具体实例: 写 ...

  9. android webview 下载视频播放 206,Android webview+Html5 video

    1.网页代码,就一个video 控件: HTML5视频播放器: http://218.206.204.71/app/public/media/BHSJ.mp4 body { margin: 0; pa ...

最新文章

  1. .NET Core类库项目中如何读取appsettings.json中的配置
  2. 常用算法 之一 详解 MD5 实现(基于算法的官方原文档)及源码详细注释
  3. 在春意盎然的季节里初识GIT
  4. 借助xxl-sso实现SSO
  5. 安卓9与10的系统要求_代码开源!支持RISC-V架构的安卓系统终于来了!
  6. 内固定取出术后护理_“钢铁侠“们注意了——身体内的钢板或内固定需要取出吗?...
  7. java中 15db9742_请问我这个报错[I@15db9742是怎么回事啊?
  8. 【react】 react 中 前后端数据的交互方式 (原生的ajax、jq的ajax、axios、fetch )...
  9. 终端terminal个性化配置
  10. C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)
  11. WAPI安全协议检测系统测试分析
  12. 音视频开发之旅(41)-天空盒
  13. springboot毕业设计 基于springboot房产中介预约看房系统毕业设计设计与实现参考
  14. 罗克露计算机组成原理书籍,计算机组成原理
  15. 数仓OLAP(一)--即席查询 Kylin
  16. 工具 | CAN总线数据采集工具PCAN的使用教程
  17. 一台服务器​最大并发 tcp 连接数多少?65535?
  18. 单总体分布卡方拟合优度检验
  19. 微信公众号文章音视频下载的几种办法-涵盖PC端和手机端
  20. 本周之后Win11 变成beta通道只能更新22000.176而没办法更新Dev的解决办法 your PC does not meet the hardware system

热门文章

  1. 3种函数参数传递方式
  2. echarts常用方法(一)
  3. 团购潮冲击佣金模式 携程拒三倍赔付藏消费陷阱
  4. centos6.5lamp环境搭建
  5. 【数据结构amp;amp;等差数列】KMP简介和算法的实现(c++ amp;amp; java)
  6. 网站被k的症状原因有哪些-怎么恢复
  7. 解决java报Too many open files错误
  8. 三、索引优化(5)索引设计指南
  9. java计算每个元素出现的百分比_java – 计算百分比“x / y * 100”总是导致0?
  10. zabbix mysql trapper_分分钟一键部署Zabbix Server