我们做安卓开发时,webview中发现html5 视频的autoplay根本没实现,查看了下android 源码HTMLVideoElement.cpp也未见相应处理,网上有资料显示,这可能关乎UI线程与后台线程的协调性,我看,以后的升级版本总会解决这个问题的。

html5标签属性不支持,那只有通过javascript来处理了

演示apk下载地址:http://download.csdn.net/detail/qiushi_1990/9513038

github源码下载:https://github.com/qiushi123/H5Demo

下面是实现步骤和原理

一,我们在设置的WebViewClient中覆盖方法:

不要忘记了webview.getSettings().settings.setJavaScriptEnabled(true)启用javascript,AndroidManifest加入INTERNET权限

@Override

public void onPageFinished( WebView view, String url) {

view.loadUrl("javascript:try{autoplay();}catch(e){}");

}

实例代码

 public class Html5VideoAutoPlay extends Activity {WebView webview = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.html5video);webview = (WebView)findViewById(R.id.webview);webview.getSettings().setJavaScriptEnabled(true);webview.setWebViewClient(new WebViewClient(){/** * 当前网页的链接仍在webView中跳转 */@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}/** * 处理ssl请求 */@Overridepublic void onReceivedSslError(WebView view,SslErrorHandler handler, SslError error) {handler.proceed();}/** * 页面载入完成回调 */@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);view.loadUrl("javascript:try{autoplay();}catch(e){}");}});webview.setWebChromeClient(new WebChromeClient() {/** * 显示自定义视图,无此方法视频不能播放 */@Overridepublic void onShowCustomView(View view, CustomViewCallback callback) {super.onShowCustomView(view, callback);}});webview.loadUrl("file:///sdcard/html/video.html");}@Overrideprotected void onPause() {if(null != webview) {webview.onPause();}super.onPause();} }

二,布局文件

html5video.xml

<?xml version="1.0" encoding="utf-8"?>

三,html文件(这里用的是html5的video标签来设置自动播放和循环播放)

video.html

上面的src可以引入本地视频b.mp4,

也可以引入网上视频:http://2449.vod.myqcloud.com/2449_43b6f696980311e59ed467f22794e792.f20.mp4

个人觉得html5结合Android会让未来各种技术实现越来越简单。到我的个人博客查看更多h5与安卓的结合案例。

也可以关注我github里的其他开源项目。

github:https://github.com/qiushi123?tab=repositories

实例图片

效果图

有任何关于编程的问题都可以私信我,我看到后会及时解答。

编程小石头,为分享干货而生!据说,每个年轻上进,颜值又高的互联网人都关注了编程小石头。​

webview加载本地html_安卓webview html5 自动播放本地视频,网上视频,可以循环播放...相关推荐

  1. webview 加载php页面内容,WebView加载优化的方法介绍

    本篇文章给大家带来的内容是关于WebView加载优化的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. WebView加载优化 当WebView的使用频率变得频繁的时候,对于其 ...

  2. webview加载html跳转,WebView加载网页(二)

    WebView加载网页(二) 一.实现目标 1.实现一个页面activity_main.xml,该页面上面有一个TextView和两个WebView,一个WebView显示百度首页,另一个WebVie ...

  3. Android开发之WebView加载html数据去除Webview滚动条的方法

    老套路看图: 这是通过webview加载HTML源码显示的网页:加载方法如下: webview.loadDataWithBaseURL(null, htmlData, "text/html& ...

  4. iOS12 系统 webView加载H5页面,反复点击网页中视频播放 退出视频全屏 闪退解决方式。

    iOS 12系统webView 对H5播放器 有不兼容迹象,如果加载的H5视频是全屏播放的,频繁切换容易造成闪退. 在这个时候,就需要 前端 和 后台一起协商 解决这个问题. 其实这个问题很容易解决的 ...

  5. webview加载html页面闪烁,webview加载Html页面

    webview的属性 //支持javascript web.getSettings().setJavaScriptEnabled(true); //不使用缓存 webSettings.setCache ...

  6. android webview加载闪屏,Android Webview:加载url时出现闪屏

    我是Android应用程序中的新手,这是我的第一个应用程序. 我已经创建了启动画面和工程..但其后走了一个长长的白色空白屏幕约2-5秒,然后URL开始加载..Android Webview:加载url ...

  7. android 使用webView加载欢迎界面的个人实现思路,实现欢迎界面不断在改变

    写这篇的时候正赶上快中午了,老娘让我去吃别人家喜酒,同时把我这个单身狗推荐出去- 对于这事 -->我很烦!!! 回归正题. android 导航界面 最多的就是ViewPager和Fragmen ...

  8. 关于WebView加载URL时显示一片空白的问题

    问题: 当用WebView加载URL时,WebView只是显示一片空白,而没有正常加载所需要的内容: 1>布局文件: <RelativeLayout xmlns:android=" ...

  9. webview加载本地资源的各种尝试

    1.webview 打开sd卡上的静态html文件 ,js文件既然放在assets文件夹下能找到,那能通过放在sd卡,能加载吗? 答:事实证明,是没有用的. 2.既然能拿到html的数据,那我们是不是 ...

最新文章

  1. “IIS配置401错误”完美解决方案
  2. ITK:应用Cos图像滤镜
  3. subpage新写法
  4. Java面试参考指南–第1部分
  5. pandas读取csv文件的指定列
  6. matlab与STK互联(不使用connect软件的互联)
  7. html5执行shell,利用nginx执行Shell 脚本
  8. 为什么ArcGIS 10.3导出 Shapefile的字段名会被截断成3个汉字?解决方法如下
  9. Unity Inspector 给组件自动关联引用
  10. 【python基础】h5py库的基本使用
  11. oracle12 client 64位,oracle官方64位客户端-instantclient-basic-windows.x64-12.2.0.1.0.zip
  12. 对象可以创建数组吗_淘宝联盟平台可以创建淘礼金吗?相关问题解答
  13. hurst代码 python_python中的Hurst指数
  14. Java进阶-requestresponse (十一)
  15. pyqt5 selenium 等待元素出现 visibility_of_element_located
  16. Vulkan是什么?和我一起完成一个简单的Vulkan应用程序
  17. 教你识别思科交换机型号
  18. IntelliJ IDEA自动引入jar包
  19. 亲测好用的6个临时邮箱推荐
  20. XSS 和 CSRF 详解

热门文章

  1. CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理
  2. 咸鱼翻身 汉能薄膜是如何做到的?
  3. SQL Server-聚焦深入理解动态SQL查询(三十二)
  4. 方案猿身高project联赛,艺术家,相反,养殖场!-------三笔
  5. Socket,非阻塞,fcntl
  6. anoconda如何切换路径
  7. 要你命3000-List29
  8. markdown公式(更新中)
  9. matlab 蜂窝网格,blender怎么制作蜂巢网格 蜂窝式网格画法
  10. 在c语言中除法运算符,c – 不需要的除法运算符行为,我该怎么办?