android - android应用程序:播放嵌入在webview中的youtube视频

标签 android webview youtube embed playing

我读了一些关于我的问题的任务,但是我不知道该怎么办。
我有嵌入youtube视频的网络 View 。
单击时,我有声音但没有视频。
我添加这个:

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

但这不起作用!

这是我的webview:
    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");

最佳答案

将此添加到您的 list 中

<application android:hardwareAccelerated="true" ... />

关于android - android应用程序:播放嵌入在webview中的youtube视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038824/

相关文章:

java - 使用 AssetManager.list 列出子目录中的 Assets

android - 无法从 `./Linking/Linking` 解析模块 `node_modules/expo/build/ExpoLazy.js`

android - 自定义 (NFC) NDEF 格式

android - 为什么 Android WebView 加载网页的方式与默认浏览器不同?

iframe - 如何使用Laravel将 “Video site link”更改为 “Video embed link”

java - 如何解决此 recylerview 问题?我的代码有什么错误吗?在应用程序中唱歌后在运行时崩溃

javascript - 适用于 Web 应用的 Cloud Firestore

iOS UIWebView loadHTMLString 不起作用

jquery - Fancybox YouTube 无法在 iPad 或 iPhone 上运行

python - 通过python将视频上传到youtube