ОК, так что я немного поработал над этим, и у меня есть видео на YouTube, которое было встроено в iframe с моим Nexus 7, но затем я протестировал его со старым Samsung Intercept, работающим под управлением 2.2, и я получаю миниатюру видео, но когда я нажимаю игру, он просто переходит в черный кадр и останавливается. Вот код, который я в настоящее время с помощью:Android: Webview встроил YouTube Video Works на Nexus 7 (4.2.2), а не Samsung 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 и добавления HTML5 = 1 до конца видео-ссылки YouTube. Я не уверен, что это только из-за версии телефона или чего-то еще, но мой клиент также протестировал его и сказал, что он не работает (хотя еще не ответил мне на , как он не работает, так что может быть совершенно другой проблемой). Есть ли лучший способ сделать это для большей совместимости? Если нет, я могу просто использовать намерение запустить приложение YouTube, но мой клиент довольно определенно хочет, чтобы он был встроен на страницу с широким диапазоном поддерживаемых устройств.
Спасибо!
Я считаю, что причиной этого несоответствия является поддержка HTML5 в браузере во время Android 2.2 и Android 4.1. –