好的,所以我一直在做这方面的工作,并在使用 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 应用程序,但我的客户非常明确地希望它嵌入到页面上,同时拥有广泛的受支持设备。
谢谢!