1

好的,所以我一直在做这方面的工作,并在使用 Nexus 7 嵌入 iframe 时获得了一个 YouTube 视频,但随后我使用运行 2.2 的旧三星拦截器对其进行了测试,我得到了视频缩略图,但是当我点击播放时,它只是进入黑框并停止。这是我目前正在使用的代码:

    int width = 0;
    int height = 0;
    Point size = new Point();
    WindowManager w = getWindowManager();

      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
      {
            w.getDefaultDisplay().getSize(size);
            width = size.x;
            height = size.y; 
      }
      else
      {
            Display d = w.getDefaultDisplay(); 
            width = d.getWidth(); 
            height = d.getHeight(); 
      }

    WebView webView = (WebView) findViewById(R.id.welcomeVideo);
    String play= "<html><body><div align=\"center\"> <iframe class=\"youtube-player\" type=\"text/html\" width=\"" + width/2 + "\" height=\"" + height/4 + "\" src=\"http://www.youtube.com/embed/9DNAyD4ll6E?html5=1\" frameborder=\"0\"></div></body></html>";
    webView.setWebChromeClient(new WebChromeClient() {
    });
    webView.getSettings().setJavaScriptEnabled(true);
    if (Build.VERSION.SDK_INT < 8)
    {
        webView.getSettings().setPluginsEnabled(true);
    }
    else
    {
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
    }
    webView.setHorizontalScrollBarEnabled(false);
    webView.loadData(play, "text/html", "utf-8");
    webView.setBackgroundColor(0x00000000);

如您所见,我尝试了一些方法,例如启用插件、使浏览器显示为 Chrome 以及将 HTML5=1 附加到 YouTube 视频链接的末尾。我不确定这是否只是因为手机的版本或其他原因,但我的客户也对其进行了测试并说它不工作(虽然还没有回复我关于它是如何不工作的,所以这可能是一个完全不同的问题)。有没有更好的方法来解决这个问题以获得最大的兼容性?如果不是,我可能只是使用意图来启动 YouTube 应用程序,但我的客户非常明确地希望它嵌入到页面上,同时拥有广泛的受支持设备。

谢谢!

4

1 回答 1

1

Android 2.1 和 2.2 支持部分视频元素。

请参考:http ://caniuse.com/#feat=video 。

于 2013-02-19T21:06:48.917 回答