0

私の問題についていくつかのタスクを読みましたが、どうすればよいかわかりません。YouTubeビデオが埋め込まれたWebビューがあります。クリックすると、音は出ますが動画は出ません。これを追加します:

content.setWebChromeClient(new WebChromeClient() {});

しかし、それは動作しません!

これは私のウェブビューです:

    content = new WebView(this);
    content.setLayoutParams(new FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT,
            Gravity.CENTER
    ));
    content.setHorizontalScrollBarEnabled(false);
    content.setVerticalScrollBarEnabled(false);
    content.getSettings().setJavaScriptEnabled(true);
    content.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    content.getSettings().setBuiltInZoomControls(false);
    content.getSettings().setSupportZoom(true);
    content.getSettings().setUseWideViewPort(true);
    content.getSettings().setPluginsEnabled(true);
    content.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
    content.getSettings().setSavePassword(true);
    content.getSettings().setSaveFormData(true);
    content.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

    content.setWebChromeClient(new WebChromeClient() {

    });
    content.setWebViewClient(new WebViewClient() {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            close();
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            view.setVisibility(View.VISIBLE);
            showLayout();
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            Uri overrideUrl = null;
            Uri currentUrl = Uri.parse(url);
            if (data.getFormat().equals(Format.IMAGE)) {
            ...
            }
            if (overrideUrl != null) {
                Intent browser = new Intent(Intent.ACTION_VIEW);
                browser.setData(overrideUrl);
                startActivity(browser);
                return false;
            }
            view.loadUrl(url);
            return true;
        }
    });

    layout.addView(content);
    content.loadData(data.getHtml(), "text/html", "UTF-8");
4

1 に答える 1