Android webview不在同一页面播放mp4视频

时间:2012-09-13 09:35:40

标签: android html android-webview html5-video android-video-player

我正在尝试显示一个本地html文件包含播放视频的代码,并尝试在android webview中显示该html文件。

我使用以下代码播放视频:

WebViewLoadVideoActivity.java

 //DECLARE webview variable outside of onCreate function so we can access it in other functions (menu)
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 WebView webView = (WebView) findViewById(R.id.webView1);
 WebSettings webSettings = webView.getSettings(); // Fetches the
 // WebSettings
 // import
 WebViewClient webViewClient = new WebViewClient();
 webView.setWebViewClient(webViewClient); // Enabling mp4
 webSettings.setPluginsEnabled(true); // Allows plugins to run which are
 // normally disabled in webView
 webView.getSettings().setBuiltInZoomControls(true); // Allows the
 // Android built in
 // zoom control
 webView.getSettings().setSaveFormData(true);
 webView.getSettings().setLoadsImagesAutomatically(true);
 webView.getSettings().setPluginsEnabled(true);
 webView.getSettings().setLoadsImagesAutomatically(true);
 webView.getSettings().setSupportMultipleWindows(true);
 webView.getSettings().setPluginsEnabled(true);
 webView.getSettings().setLightTouchEnabled(true);
 webView.getSettings().setAllowFileAccess(true); // To allow file
 // downloads/streams
 // such as mp4, mpeg,
 // and 3gp files
 webView.getSettings().setJavaScriptEnabled(true); // Enables HTML
 // Javascript to run
 // in webview
 webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
 webView.getSettings().setSupportZoom(true); // Support the zoom feature
 webView.getSettings().setSavePassword(true); // Allow users to save passwords in forms
  webView.setWebViewClient(new  WebViewClient() { // Opens web links clicked by user in the webview
  @Override
  public void onReceivedError(WebView view, int errorCode,
  String description, String failingUrl) { // Handle the error
  }

  @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
  view.loadUrl(url);
  return true;
  }
  });
 webView.loadUrl("file:///android_asset/test.html"); // test.html file from assets folder
  //... Rest of activity code...

的test.html

<!DOCTYPE html>
<html>
<body>

<video width="320" height="240" controls="controls">
  <source src="http://www.w3schools.com/html/movie.mp4" type="video/mp4" />
  Your browser does not support the video tag.
</video>

</body>
</html>

问题区域:
当我们点击播放按钮时,Android webview或Android默认浏览器会在另一个视频视图中显示视频内容,我的要求是视频应该在同一个html页面内联打开,因此用户可以在视频播放或缓存期间导航到网页的其他页面。

研究领域:
我试过很多其他方法,比如 HTML5的视频标签 嵌入HTML标签 HTML的对象标签

其他视频播放器集成方式我到目前为止检查过但没有按照我的要求工作,
Flare Video
jplayer

请建议我任何适合我的要求的方式,我的要求非常简单,因为我想在html文件中播放视频,如同在android的webview小部件中内联。

先谢谢。

1 个答案:

答案 0 :(得分:0)

您必须使用webView Custom类播放mp4视频