好的,所以我一直在这方面工作,并在我的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应用,但我的客户非常具体,希望它能够嵌入到页面中,同时拥有广泛的支持设备。
谢谢!