我想使用WebView功能播放视频。 目前,我可以在我测试的所有浏览器中播放以下HTML(Chrome,Chrome for Android,Navegator for Android)。不幸的是,我无法使用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");
}
的index.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>
您可以信赖所有文件都放在正确的位置。
答案 0 :(得分: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 ());
答案 1 :(得分:0)
我遇到了同样的问题,其他人找到的解决方案都没有帮助我。我已经尝试了很多不同的方法来解决这个问题,但我没有管理。因此,我的解决方案是显示拇指而不是视频,此拇指是链接到视频源的图像,当按下此拇指时,视频将在Android原生视频播放器中启动。如果还没有解决它,你可以试试这个。
后来,我发现了这个:https://code.google.com/p/googletv-android-samples/source/browse/#git%2FWebAppNativePlayback它可以根据需要在webview中播放视频,但问题是您无法通过D-pad键盘控制视频控件。
希望你有一个解决方案!