在android WebView中启用HTML5视频播放?

在android WebView中启用HTML5视频播放?,html,webview,Html,Webview,我正在构建一个简单的webview应用程序,它现在使用HTML5视频播放器显示一个充满短视频剪辑的网站。在默认的android网络浏览器中,一切正常,但webview不会播放任何视频剪辑 用于播放视频剪辑的Html代码如下所示: <video poster preload="true" controls autoplay width="500" height="200"> <source src="http://www.edmondvarga.com/demo/videos

我正在构建一个简单的webview应用程序,它现在使用HTML5视频播放器显示一个充满短视频剪辑的网站。在默认的android网络浏览器中,一切正常,但webview不会播放任何视频剪辑

用于播放视频剪辑的Html代码如下所示:

<video poster preload="true" controls autoplay width="500" height="200">
  <source src="http://www.edmondvarga.com/demo/videos/video.mp4" type="video/mp4">
  </video>

如何在webview中启用视频播放?

我从以前的项目中知道,您需要使用
WebChromeClient
来播放HTML5视频。(这也为您提供了硬件加速支持——前提是您还设置了活动的标志)

使用:

在设置setWebViewClient之前,请将其放入。您可以覆盖WebChromeClient以截获需要处理的任何事件

在活动定义中的AndroidManifest.xml中,添加:

android:hardwareAccelerated="true"
以下引语来自此(向下滚动至HTML5视频支持)

为了在应用程序中支持内嵌HTML5视频,您需要打开硬件加速,并设置WebChromeClient


我使用以下代码成功地使用html5视频标签显示视频:

mainWebView.setWebChromeClient(new WebChromeClient());

android:hardwareAccelerated="true"

下面给出的html5标签适用于我,无需更改android代码中的任何内容

<video src="video/placeholder.m4v" poster="video/placeholder.jpg" onclick="this.play();"/>

你可以详细查看


信用证:

当你说不玩时,你的意思是根本不玩,还是不自动玩?正如你所知,Android不支持自动播放。嗨,它根本不会播放。仅显示灰色缩略图,其中包含默认剪辑图标。另一方面,我已经设法使用脚本在默认的android web浏览器中自动播放该剪辑:但同一剪辑不会在webview中播放……:(您如何在运行时从web获取视频链接?感谢您的支持,我一回到电脑就迫不及待地想尝试它。我已将该行添加到我的ISActivity.java中,我收到一条错误消息:“WebChromeClient无法解析为类型”-就在它前面:(.我不是专家,还在学习。但我需要让它工作。请确保添加导入:
import android.webkit.WebChromeClient;
Hi Edmond,如果您满意,请将此标记为正确。关于您的其他问题,我必须告诉您,在任何android手机上都没有可靠的方法将视频自动播放。它会永远是一个黑客,因为根据设计,Android(和iOS)不想让你自动播放视频。有各种各样的黑客(javscript技巧后身体负荷,Android黑客-模拟手指按压)但是我没有看到一个是可靠的。唯一的办法可能是发布一个自定义版本的webkit。老兄,你不能只是重复最好的答案,希望得到一些支持。我想我仍然面临webview下的html5问题…geckoview@Phantom怎么样?
mainWebView.setWebChromeClient(new WebChromeClient());

android:hardwareAccelerated="true"
<video src="video/placeholder.m4v" poster="video/placeholder.jpg" onclick="this.play();"/>