android webview不使用WebViewClient显示视频

时间:2011-07-23 11:28:02

标签: android video webview youtube

我想在 webview 上播放来自 youtube 的视频..它显示视频,但我想在同一页面上播放我的意思是我要去使用 WebViewClient ..但使用它不播放视频..(按下播放按钮它不播放视频)我该怎么办?我的代码是

 setContentView(R.layout.main);
            wvSpecials = (WebView) findViewById(R.id.webView1);
            WebSettings webSettings = wvSpecials.getSettings();
            webSettings.setJavaScriptEnabled(true);
            wvSpecials.loadUrl("http://here.com/is link/");
            wvSpecials.setWebViewClient(new WebViewClient() {
                ProgressDialog progressDialog = new ProgressDialog(
                        specialsActivity.this);
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon) {
                    progressDialog.setMessage("Please wait...");
                    progressDialog.show();
                    super.onPageStarted(view, url, favicon);
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    if (progressDialog.isShowing()) {
                        progressDialog.dismiss();
                    }
                    super.onPageFinished(view, url);
                }
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                     view.loadUrl(url);

                    return super.shouldOverrideUrlLoading(view, url);
                }

            });
}

1 个答案:

答案 0 :(得分:3)

您可以使用以下列出的代码:

public class YouTube extends Activity{

  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
      WebView myWebView;
      myWebView = (WebView) findViewById( R.id.web);
      myWebView.setWebViewClient(new MyWebViewClient());
  String pre="<iframe class=youtube-player type=text/html width=";
  String height=" height=";
  String suffix=" src=http://www.youtube.com/embed/**xxxxxxxxxxx**?autoplay=1 frameborder=0>"; // replace xxxxxxxxxxx with the specific embed id of your video
      String playVideo=pre+260+height+150+suffix;
      myWebView.getSettings().setPluginsEnabled(true);
      myWebView.getSettings().setJavaScriptEnabled(true);
  myWebView.loadData(playVideo,"text/html","UTF-8");
}
// override default behaviour of the browser

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


        ProgressDialog dialog = ProgressDialog.show(getApplicationContext(), "", 
                "Loading. Please wait...", true);
        @Override
           public void onPageFinished(WebView view, String url) {
            dialog.dismiss();
          }


    } }