如何在网页浏览中播放Flash视频?

时间:2017-12-11 08:21:11

标签: android android-webview

我正在尝试使用android webview加载视频流,但视频无法播放返回错误不支持的类型。我的代码如下

    starTvStream = ((MainActivity)mActivity).SESSION_STARTV_OTHER;
    mWebView  = (WebView) fragView.findViewById(R.id.streamWebView);
    WebSettings webSettings = mWebView.getSettings();
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
    mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    mWebView.loadUrl(starTvStream);

我的代码中可能缺少什么。在清单中,我启用了android:hardwareAccelerated="true"和权限

android:name="android.permission.INTERNET" 
android:name="android.permission.WAKE_LOCK"

1 个答案:

答案 0 :(得分:0)

如果您检测到支持的视频mimetype的网址返回true,则必须覆盖shouldOverrideUrlLoading(),然后使用该网址启动默认活动。这是一个样本。

mWebView.setWebViewClient(new WebViewClient(){

public boolean shouldOverrideUrlLoading(Webview view, String url){
     if(url.endsWith(".mp4") || url.endsWith("some other supported type")){
          Intent i = new Intent(Intent.ACTION_VIEW);
          i.setData(Uri.parse(url));
          startActivity(i); 
          //warning no error handling will cause force close if no media player on phone.
          return true;
     }
     else return false; 
}});

希望这会有所帮助。