【问题标题】:Android - Embed youtube iframe in appAndroid - 在应用程序中嵌入 youtube iframe
【发布时间】:2013-03-14 23:18:29
【问题描述】:

我需要在我的应用程序中嵌入一个 youtube 视频,可能在我在应用程序中而不使用 youtube 应用程序时显示视频。我可以使用 webview 和 youtube 视频中的 iframe 嵌入东西来做到这一点,它在我的 2 台设备上运行良好:一个有 Android 4.1.1,另一个有 4.2。 当我在装有 Android 2.3.4 的手机上尝试时,它不起作用:它显示缩略图,但当我点击它时,它仍然是一个黑色空间。 也许 Android 版本

    wbv = (WebView) this.findViewById(R.id.webView1);
    wbv.setFocusable(true);
    wbv.setFocusableInTouchMode(true);
    wbv.getSettings().setJavaScriptEnabled(true);
    wbv.getSettings().setPluginState(PluginState.ON);
    wbv.getSettings().setRenderPriority(RenderPriority.HIGH);
    wbv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    wbv.getSettings().setDomStorageEnabled(true);
    wbv.getSettings().setDatabaseEnabled(true);
    wbv.getSettings().setAppCacheEnabled(true);
    wbv.setWebViewClient(new WebViewClient());
    wbv.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    String html ="<html><body><iframe class=\"youtube-player\" type=\"text/html\" width=\"560\" height=\"315\" src=\"http://www.youtube.com/embed/ID\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
    String mime = "text/html";
    String encoding = "utf-8";        
    wbv.loadData(html, mime, encoding);    

【问题讨论】:

    标签: android html video


    【解决方案1】:

    对我来说,它的工作方式如下:

    final WebSettings settings = webView.getSettings();
    settings.setDefaultTextEncodingName("utf-8");
    settings.setJavaScriptEnabled(true);
    settings.setLoadsImagesAutomatically(true);
    settings.setPluginsEnabled(true);
    //settings.setPluginState(PluginState.ON);
    webView.loadUrl("http://www.youtube.com/embed/"+videoClip.youtubeId);
    

    使用 aos 2.3.4 设备。如果使用你的方式,我也可以工作,我的意思是 IFrame:

    final String sUrl =  "http://youtube.com/embed/"+videoClip.youtubeId;
    final String html ="<html><body><iframe class=\"youtube-player\" type=\"text/html\" width=\"560\" height=\"315\" src=\""+sUrl+"\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
    webView.loadData(html, "text/html", "utf-8");
    

    但是我确认这两种方法都不适用于我的 froyo (2.2.2) aos 设备。它在几秒钟内引起了一些蓝筹,仅此而已。它停留在黑屏或​​框架中。

    【讨论】:

    • 确实如此。为此最好使用 Google YouTube API。
    猜你喜欢
    • 2019-04-21
    • 2013-06-08
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    相关资源
    最近更新 更多