2

我想使用 WebView 功能播放视频。目前,我可以在我测试过的所有浏览器(Chrome、Android 版 Chrome、Android 版 Navegator)中播放以下 html。不幸的是,我无法使用 WebView 在我自己的应用程序中播放它:显示了播放器的控件,但是单击播放按钮会使搜索栏走到尽头,并且会出现一个进度圈并且永远不会结束。以下是相关代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video);

    WebView webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setPluginState(PluginState.ON);
    webView.setWebChromeClient(new WebChromeClient());
    webView.loadUrl("file:///android_asset/www/index.html");
}

索引.html:

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>video1</title>
</head>
<body>
<video id="video" controls height="240" width="360">
<source src="index.files/html5video/video1.m4v">
</video>
<script type="text/javascript">
    var vid=document.getElementById('video');
vid.addEventListene('click', function () {
    vid.play();
}, false);
</script>
</body>

您可以相信所有文件都放置在正确的位置。

4

2 回答 2

2

我知道这是一篇旧帖子,但我在 Galaxy S3 上遇到了同样的问题。我用这个解决了它:

webView.SetWebChromeClient (new WebChromeClient ());

它在没有这条线的 Nexus 7 上工作得很好,但在 Galaxy S3 上由于某种原因它只是永远旋转加载圈。

注意:我也有这些设置:

webView.Settings.PluginsEnabled = true;
webView.Settings.JavaScriptEnabled = true;
webView.Settings.SetPluginState (WebSettings.PluginState.On);
webView.SetWebViewClient (new WebViewClient ());
于 2014-03-14T22:07:26.990 回答
0

我有同样的问题,在其他人找到的解决方案都没有帮助我。我尝试了许多不同的方法来解决这个问题,但我没有成功。所以,我的解决方案是显示一个拇指而不是视频,这个拇指是一个链接到视频源的图像,当这个拇指按下时,视频会在 Android 原生视频播放器中启动。如果还没有解决,你可以试试这个。

后来,我发现了这个:https ://code.google.com/p/googletv-android-samples/source/browse/#git%2FWebAppNativePlayback它可以根据需要在 webview 中播放视频,但问题是你不能从 D-pad 键盘控制视频控件。

希望你有解决方案!

于 2013-11-07T13:05:52.013 回答