我有一个(客户)网站使用js

brightcove player来渲染html5视频.

(阅读:我无法编辑网站本身)

在移动Chrome中,视频有效,一切都很好.但是在我的Android应用中,使用呈现完全相同页面的WebView无法播放视频.

我已阅读了许多类似的SO问题,并确保完成以下操作:

>关闭Web视图插件(关闭Flash),以确保使用html5视频而不是Flash版本.

> javascript显然已启用

> Web视图上安装了webchromeclient.

>覆盖webchromeclient中的onShowCustomView(不幸的是,它永远不会被调用)

>为活动启用硬件加速

有些帖子建议手动调用视频的play()方法,这不是一个好主意,但是,无论如何都不可能,因为brightcove播放器的视频标签在iframe内并且无法获取它通过JavaScript.

到现在为止,我的想法已经不多了,问题可能是什么或在哪里.任何建议都非常感谢.

LogCat中唯一相关的日志消息是:

10-25 14:01:01.503:D / VideoLayerManager(1307):为VideoLayer重新启动GLResource

我的WEBVIEW设置

课程内容可以从这里下载goo.gl/GVtgD0.

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

webView.getSettings().setJavaScriptEnabled(true);

webView.getSettings().setAllowFileAccess(true);

webView.setSoundEffectsEnabled(true);

webView.setWebChromeClient(new WebChromeClient());

webView.loadUrl("file:///emulated/0/GA_nHanceK12/temp/class1-sub1-top2/index.html"));

从我这边来的日志

07-16 14:44:11.787: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.787: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.787: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.797: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.797: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.797: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.807: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.807: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.817: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.817: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.817: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.817: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.827: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.827: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.837: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.837: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.837: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.847: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.847: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.847: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.857: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.857: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.857: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.857: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.857: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.867: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.867: D/MediaPlayer_Java(27539): [FXN.ASD] setDataSource :: uri = file:storage/emulated/0/GA_nHanceK12/temp/class1-sub1-top2/_cp_n_m_

07-16 14:44:11.867: E/MediaPlayer-JNI(27539): [FXN][ASD]getVideoSurfaceTexture: null surface texture

07-16 14:44:11.867: E/MediaPlayer(27539): error (1, -2147483648)

07-16 14:44:11.917: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.917: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.917: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.917: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.927: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.927: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.927: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.927: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.927: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:11.937: E/MediaPlayer_Java(27539): Error (1,-2147483648)

07-16 14:44:12.488: D/VideoLayerManager(27539): Reinit GLResource for VideoLayer

最佳答案

This answer可能会回答您的问题.

我尝试过API 16(4.1 JB),但这个sample Brightcove video只在全屏播放时播放.

您可以在全屏模式下强制启动视频,并在用户要求或视频播放完毕时将其退出.

我相信这是由WebView类本身引起的,因为4.1 JellyBean是从Android浏览器到谷歌Chrome的过渡.虽然较新的4.1版本的默认浏览器变为Chrome,但WebView仍然使用旧引擎,因此无法正确呈现视频.

另一个解决方案是重定向用户并强迫他使用他的浏览器(如果你很幸运,它是chrome并且将显示视频).

html 安卓 视频加载错误,javascript – html5视频无法在Android webview中播放,但适用于(移动)Chrome...相关推荐

  1. HTML5 单个或者多个Video标签视频加载第一帧方法(poster属性)

    最近在做这个前端视频加载第一帧的功能,查了很多资料基本上有两种思路: 一.canvas画图取base64格式编码设置poster属性的方法: 二.给定图片设置在视频上方,点击图片隐藏起来,视频追加播放 ...

  2. 【技术分享】如何解锁高通骁龙660上的安卓引导加载程序

    本文是我们在DEF CON 29大会上的演示视频的配套文章,视频的链接地址为https://www.youtube.com/watch?v=z4gIxdFfJDg. 要想在安卓手机上获得root权限, ...

  3. android 获取位置数据库,尝试从webview获取位置时,Android“SQLite数据库无法从/CachedGeoposition.db加载”错误...

    我正在创建一个使用webkit和chrome客户端的android应用程序.我希望能够在网页请求时获取当前位置.我设置的网页适用于普通浏览器就好了.然而,当我尝试访问该网页WebKit中,我不断收到此 ...

  4. android web canvas,HTML5 - Canvas无法在Android WebView的第一次加载时渲染

    我正在开发基于HTML5画布的游戏,该游戏在现有应用程序的WebView中运行.在第一次运行游戏时,它会在后台成功加载,所有日志都表明它已准备就绪并正在运行.但是,WebView中不显示任何内容.如果 ...

  5. uniapp m3u8格式视频加载

    uniapp一:mui-player:三方  h5 web app uniapp 使用 mui-player 插件播放 m3u8/flv 视频流_翘翘红的博客-CSDN博客 uniapp 开发的h5项 ...

  6. 穿山甲广告接入 视频加载成功 不播放直接跳到结束

    问题 穿山甲广告接入 设备上视频加载成功,但播放时黑屏或者加载图片白屏,之后跳转endcard是什么原因引起的? 如图,广告视频请求成功 缓存成功,但是一直走播放错误回调. 其实是网络安全配置导致的. ...

  7. windows常见的加载错误的3个解决办法

    windows常见的加载错误的3个解决办法 作者:系统达人 来源:http://www.dnxp.net 当在系统中频繁安装和卸载一些应用程序,或者频繁对系统进行杀毒操作的话,系统在日后的启动过程中可 ...

  8. 图片加载错误的处理 img.onerror

    在显示用户头像时,我们常常采用先加载后显示的策略,即在加载过程中显示loading.gif,待头像加载完成后再显示出来.这样做很好的提升了用户体验.但与此同时,偶尔也会出现一些问题,比如图片加载错误( ...

  9. img 图片加载错误时显示默认图片

    有时我们项目里的图片加载错误时(比如 404),为了友好体验,我们可以用一张默认图片来替代. 方法一:用 background 遮住原图片 <img src="no-such-pic. ...

最新文章

  1. HDU 1856 More is better【并查集】
  2. sdn体系的三个平面_十张图看懂SDN与NFV的区别与联系?
  3. Android LinearLayout
  4. C和指针之动态内存分配之输入很多整数进行排序
  5. Java Vector insertElementAt()方法与示例
  6. 输入网址后,浏览器从访问服务器到呈现网页的过程
  7. 鞍部在哪里_智慧树知到在哪里可以寻找答案?
  8. dll放在unity哪个文件夹下_程序丨如何将你的Unity代码整理到一个DLL中?
  9. centos6.5安装redmine2.6
  10. 简单工厂模式和策略模式的区别
  11. 解读云计算的8项核心技术
  12. goahead源码分析webs.c
  13. 程序员接私单需要注意的几大问题
  14. H5案例分享-H5游戏跳跃类玩法分享
  15. nano编辑器保存退出
  16. python 信用卡系统+购物商城见解
  17. 喵 ~ 小程序搭建记录
  18. iPhone 隐藏了App 如何恢复
  19. linux | 常用命令
  20. 机器学习:什么是监督学习(Supervised learning)?

热门文章

  1. OpenWrt下通过EC20 R2.0 4G模块实现qmi拨号上网
  2. vue项目打包部署生产环境
  3. 医保、社保、五险一金、个税政策
  4. SAP MTS/ATO/MTO/ETO专题之四:E+空模式前后台操作,对应策略20
  5. 【历史上的今天】12 月 9 日:微软推出 Windows 2.0;五十年前的极客科技展;第一个获得专利的人
  6. python TCP服务器v1.8 - PyQt5登录界面美化+淡入淡出
  7. mems加速度计芯片的参数介绍
  8. .NET某消防物联网后台服务内存泄漏分析
  9. (AS笔记)Android全透明沉浸式主题样式——全屏沉浸隐藏底部导航栏
  10. android 动态向下箭头,向上/向下箭头添加到android numberpicker