android webview 不使用 WebViewClient 显示视频

标签 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);
                }

            });
}

最佳答案

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

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


    } }

关于android webview 不使用 WebViewClient 显示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6800062/

相关文章:

javascript - AJAX PHP 视频上传并转换为 flv

Android Webview - 如何在默认浏览器中打开外部链接?

java - 某些手机​​上的 Andengine 低 FPS

android - 在android中以编程方式打开和关闭屏幕

java - 没有这样的表问题

c# - VideoCamera 获得支持的分辨率

javascript - 如何使用 jQuery 使 html5 视频播放器静音

macos - 如何在 Cocoa MacOS Webview 中显示简单的文本消息(toasts/alerts)?

java - 在默认浏览器中打开 URL

Android透明 Canvas (surfaceview)