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

前端之家收集整理的这篇文章主要介绍了在Android WebView中启用HTML5视频播放?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个简单的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>

主要Activity.java:

package tscolari.mobile_sample;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class InfoSpotActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.main);

        WebView mainWebView = (WebView) findViewById(R.id.mainWebView);

        WebSettings webSettings = mainWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        mainWebView.setWebViewClient(new MyCustomWebViewClient());
        mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

        mainWebView.loadUrl("http://server.info-spot.net");
    }

    private class MyCustomWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view,String url) {
            view.loadUrl(url);
            return true;
        }
    }
}

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

解决方法

我从上一个项目中了解到,您需要使用WebChromeClient来播放HTML5视频. (这也给你硬件加速支持 – 提供你也设置你的活动的标志).

使用:

mainWebView.setWebChromeClient(new WebChromeClient());

在设置setWebViewClient之前.您可以覆盖WebChromeClient来拦截您需要处理的任何事件.

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

android:hardwareAccelerated="true"

以下引用来自此SDK Page(向下滚动到HTML5视频支持)

In order to support inline HTML5 video in your application,you need to have hardware acceleration turned on,and set a WebChromeClient.

猜你在找的Android相关文章