Używam WebView do wyświetlania osadzonego wideo z Youtube i działa na Galaxcy S2 (OS 2.3.5), a nie na Nexus S (OS 2.3.4), wszystko co dostaję jest biały ekran bez wyświetlania wideo.Osadzanie wideo z YouTube w aplikacji na Androida
Oto fragment kodu używam i deklaracje w pliku manifestu:
private WebView wv;
private void setWebView()
{
wv = (WebView) findViewById(R.id.webView);
wv.setWebChromeClient(new WebChromeClient());
wv.getSettings().setPluginState(WebSettings.PluginState.ON);
wv.setWebViewClient(new WebViewClient());
wv.getSettings();
wv.setBackgroundColor(0x00000000);
wv.setKeepScreenOn(true);
wv.setHorizontalScrollBarEnabled(false);
wv.setVerticalScrollBarEnabled(false);
wv.getSettings().setBuiltInZoomControls(true);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = getHTML();
wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}
public String getHTML()
{
String html = "<html>"
+ "<head>"
+ "</head>"
+ "<body style=\"border: 0; padding: 0\">"
+ "<iframe "
+ "type=\"text/html\" "
+ "class=\"youtube-player\" "
+ "width= 100%\""
+ "\" "
+ "height= 95%\""
+ "\" "
+ "src=\"http://www.youtube.com/v/"
+ selected_video
+ "?controls=0&showinfo=0&showsearch=0&modestbranding=0" +
"&autoplay=1&fs=1&vq=hd720\" " + "frameborder=\"0\"></iframe>"
+ "</body>"
+ "</html>";
return html;
}
Uwaga: parametr „selected_video” to skrót wideo (videoID).
Deklaracje w pliku manifestu:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
.
.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application
.
.
android:hardwareAccelerated="true" >
.
.
proszę dać mi znać w przypadku uznając coś powinienem zmienić w moim kodu, lub pomóc w pełnym kodem, który może obsługiwać wszystkie urządzenia z Androidem i OS do wyświetlania osadzonych (In-App) Youtube wideo o wysokiej jakości.
AKTUALIZACJA: Zwróć uwagę, rozwiązanie, którego szukam, powinno wyświetlać wideo w wysokiej rozdzielczości. Zrobiłem to na różnych urządzeniach i systemie operacyjnym, używając klasy VideoView, ale jakość wideo nie jest wystarczająco dobra. Każde rozwiązanie, w tym VideoView lub WebView lub w jakikolwiek inny sposób, zostanie zaakceptowane tylko wtedy, gdy będzie wyświetlać filmy wideo w wysokiej jakości. Podziękowania dla wszystkich respondentów!
Nie jestem pewien, ale to może być prob flash Flash jest zainstalowany w Nexus S ??? http://stackoverflow.com/questions/5791035/what-does-install-flash-plugin-in-webview-mean – idan
Mogę używać innych aplikacji, które robią to samo na moim Nexusie S. Nie chcę, żeby flash był musi używać aplikacji ... – Idan
Mam na myśli, że to nie działa, ponieważ Youtube wymaga Flasha, sprawdź, czy urządzenia mogą przeglądać serwis YouTube i oglądać filmy? i Daj mi znać wynik (nie wypróbuj aplikacji YouTube tylko na stronie youtube) maby ather use app, youtube android player? https://developers.google.com/youtube/android/player/ – idan