WebView 中的 Android HTML5 视频
Posted
技术标签:
【中文标题】WebView 中的 Android HTML5 视频【英文标题】:Android HTML5 video in WebView 【发布时间】:2015-06-16 15:48:14 【问题描述】:我正在尝试在我的 WebView 应用中播放 html5 视频。它可以在我测试过的每台运行 android 5.x 的设备上按预期工作,但 不能 在任何运行 4.x 的设备上工作,这意味着它基本上不能工作。
我开启了硬件加速并设置了WebChromeClientas the docs say to do,但是视频还是无法播放。
为了在您的应用程序中支持内嵌 HTML5 视频,您需要 开启硬件加速,并设置 WebChromeClient。
AndroidManifest.xml
<application>
android:hardwareAccelerated="true"
...
</application>
MyFragment.java
webView = new WebView(getActivity(), null, this);
webView.setWebChromeClient(new WebChromeClient());
还有没有在开发人员参考中记录的其他我需要做的事情?
【问题讨论】:
查看gist.github.com/Offbeatmammal/3718414 以获得工作示例 【参考方案1】:问题是 WebKit 不能很好地处理视频的重定向。网页中有来自我公司专有 API 的视频。单击视频时,调用会转到我们的 API,然后重定向到 Amazon S3 以获取实际的视频文件。然后,WebKit 会按照您的预期尝试“分块”视频(而不是预加载整个内容)。但是,S3 已经这样做了,这会导致播放完全中断。
Android 5.x 运行良好,因为 WebView 从 4.4 开始基于 Chromium,它可以适当地处理重定向。
【讨论】:
以上是关于WebView 中的 Android HTML5 视频的主要内容,如果未能解决你的问题,请参考以下文章
android webview怎么加载ionic的html5
HTML5 Canvas 支持和 Android Webview
在 Android WebView 中拦截 HTML5 视频源请求