Android:Webview在Nexus 7(4.2.2)上嵌入了YouTube Video Works,而非Samsung Intercept(2.2)

时间:2013-02-19 20:39:59

标签: android webview youtube

好的,所以我一直在这方面工作,并在我的Nexus 7嵌入iframe时使用YouTube视频工作,但后来我用旧的三星Intercept运行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,并在YouTube视频链接的末尾附加HTML5 = 1。我不确定这只是因为手机的版本或者是什么,但是我的客户也对它进行了测试,并表示它无法正常工作(虽然还没有对我做出回应如何它是不工作,所以这可能是一个完全不同的问题)。是否有更好的方法来实现最佳兼容性?如果不是,我可能只是想使用意图启动YouTube应用,但我的客户非常具体,希望它能够嵌入到页面中,同时拥有广泛的支持设备。

谢谢!

1 个答案:

答案 0 :(得分:1)

Android 2.1&amp; 2.2具有部分视频元素支持。

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