Intégrer la vidéo sur Youtube à l'intérieur d'une application Android

Je suis en utilisant une WebView pour l'affichage intégré de la vidéo Youtube et qui fonctionne sur Galaxcy S2 (OS 2.3.5) et ne fonctionne pas sur Nexus S (OS 2.3.4), tout ce que j'obtiens est un écran blanc sans affichage vidéo.

Voici l'extrait de code que j'utilise et les déclarations dans le fichier de Manifeste:

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;
}

Remarque: le paramètre "selected_video" est la valeur de hachage de la vidéo (VideoID).

Les déclarations dans le fichier de Manifeste:

<?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"  >

    .
    .

S'il vous plaît laissez-moi savoir dans le cas où vous reconnaître quelque chose que je dois changer dans mon code, ou de l'aide avec un code complet qui peut prendre en charge tous les appareils Android et OS pour l'affichage intégré (In-App) Youtube la vidéo de haute qualité.

Mise à JOUR:
Attention, la solution, je suis à la recherche pour afficher la vidéo en haute résolution. Je l'ai eu à travailler sur les différents appareils et les OS à l'aide de VideoView classe, mais la qualité de la vidéo n'est pas assez bon. De sorte que toute solution y compris VideoView ou WebView ou de toute autre manière ne sera acceptée que si elle fait de la haute qualité de vidéo YouTube pour être affiché. Merci à tous les intervenants!

  • Je ne suis pas sûr, mais il pourrait être flash prob, Flash est installé dans le Nexus S ??? stackoverflow.com/questions/5791035/...
  • Je pourrais utiliser d'autres applications qui en fait de même sur mon Nexus S. je ne veux pas de flash pour être un must à utiliser l'application...
  • Je veux dire, je pense qu'il ne fonctionne pas parce que Youtube nécessite Flash, veuillez vérifier si les dispositifs peuvent naviguer sur le site YouTube et regarder des films? et Laissez-moi savoir la suite (ne pas essayer de YouTube application youtube site) maby ather app utiliser, youtube android player? developers.google.com/youtube/android/player
  • Je peux voir un film sur youtube site sans l'aide de l'application.
  • webview.getSettings().setPluginsEnabled(true); est une méthode dépréciée essayez de cibler min SDK de la version 8, (2.2) et la mise en webview.getSettings().setPluginState(WebSettings.PluginState.SUR l');
  • Mais c'est exactement ce que j'ai fait...
  • Comme signalé par: stackoverflow.com/questions/9036415/... il peut ne pas être possible. Avez-vous regardé: developers.google.com/youtube/android/player

InformationsquelleAutor Idan | 2013-06-12