【问题标题】:android : webview playing youtube videos shows white blank page for few secondsandroid:播放 youtube 视频的 webview 显示白色空白页几秒钟
【发布时间】:2013-02-14 09:45:05
【问题描述】:

我正在使用 webview 播放 youtube 视频。它的工作完美,除了一个白色的空白页显示几秒钟。然后我得到加载页面指示和页面加载。我怎样才能摆脱一开始的白色空白页面。我的代码在下面

public static void showVideo(final Context context, WebView webReview,
        final Activity activity, String videoid, String width, String height) {


        WebSettings webSettings = webReview.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webReview.getSettings().setPluginsEnabled(true);

        webReview.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {
                activity.setProgress(progress * 100);
            }
        });
    /*  webReview.setWebViewClient(new WebViewClient() {

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

            public void onReceivedError(WebView view, int errorCode,
                    String description, String failingUrl) {
                Toast.makeText(context, description, Toast.LENGTH_LONG)
                        .show();
            }
            @Override
            public void onPageStarted(WebView view, String url,
                    Bitmap favicon) {
                Log.i("onPageStarted", "url" + url);
                super.onPageStarted(view, url, favicon);
                if (progreesDialogue != null) {
                    showProgressDialog();
                }

            }

            @Override
            public void onPageFinished(WebView view, String url) {

                if (progreesDialogue != null
                        && progreesDialogue.isShowing()) {

                    progreesDialogue.dismiss();
                }
            }

        }); */

        String data = "<html>"
                + "<head>"
                + "</head>"
                + "<body style=\"margin: 0; padding: 0\">"
                + "<iframe "
                + "type=\"text/html\" "
                + "class=\"youtube-player\" "
                + "width=\""
                + width
                + "\" "
                + "height=\""
                + height
                + "\" "
                + "src=\"http://www.youtube.com/v/"
                + videoid
                + "?controls=0&showinfo=0&showsearch=0&modestbranding=1&autoplay=1&fs=0\" "
                + "frameborder=\"0\"></iframe>" + "</body>" + "</html>";



        webReview.loadData(data, "text/html", "utf-8");
        //webReview.loadUrl("http://www.youtube.com/v/"+videoid);

    } 
}

我也尝试过未注释的 webviewclient,它在下面的代码中进行了注释。

请帮忙解决这个问题。

【问题讨论】:

  • 不确定您是否可以解决此问题...您看到的白色是页面需要一些时间加载的结果。您可以尝试在本机或 HTML 代码中显示一些“等待”指示符。

标签: android video webview


【解决方案1】:
android:hardwareAccelerated='true'

在你的 AndroidManifest.xml 中使用它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-12
    • 2020-05-19
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 2014-05-18
    相关资源
    最近更新 更多