【问题标题】:android webview not displaying video using WebViewClientandroid webview不使用WebViewClient显示视频
【发布时间】:2011-07-23 11:28:02
【问题描述】:

我想在 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);
                }

            });
}

【问题讨论】:

    标签: android video webview youtube


    【解决方案1】:

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

    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();
              }
    
    
        } }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-19
      • 2017-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 2019-09-06
      相关资源
      最近更新 更多