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
Vous devez vous connecter pour publier un commentaire.
il y a un officiel YouTube Android Player API qui vous pouvez utiliser. C'est un peu plus compliqué mais c'est mieux que d'autres solutions à l'aide de webclients.
Vous devez d'abord inscrire votre application dans Google API Console. C'est entièrement gratuit jusqu'à ce que votre application obtient plus de 25k demande un mois (ou quelque chose comme ça). Il y a complète anf grande tutoriels sous le lien. J'espère que vous pouvez comprendre. Si non, demandez! 🙂
bien que je suggère d'utiliser les api youtube ou appeler de nouveaux intention et de rendre le système le manipuler (c'est à dire l'application youtube), voici un code qui peut vous aider, il a un appel à un de caché méthode parce que vous ne pouvez pas mettre en pause et reprendre webview
Il fonctionne comme ceci:
À quoi il ressemble:
Meilleure solution pour mon cas. J'ai besoin de la vidéo ajustement web taille d'affichage.
Utiliser intégrer le lien youtube de votre vidéo id.
Exemple:
Vue Web xml code
Intégrer le lecteur YouTube sur Android est très simple & il prend à peine 10 minutes,
Voici les étapes détaillées http://www.feelzdroid.com/2017/01/embed-youtube-video-player-android-app-example.html.
Référence qu'il & si vous rencontrez un problème, faites le moi savoir, ill vous aider à
La qualité de la vidéo dépend de la vitesse de Connexion à l'aide de l'API
sinon pour les autres que de API-dire sans application YouTube, vous pouvez suivre ce lien
Reportez-vous à cette réponse: Comment peut-on jouer YouTube embeded code dans une application Android à l'aide de webview?
Il utilise
WebViews
et charge uniframe
en elle... et oui, il fonctionne.Assez simple: il suffit de le mettre à l'intérieur d'une méthode statique.
Utiliser cette Youtube API de google.