Youtube des vidéos ne fonctionne pas dans la webview. Quel est le problème avec ce code?
Je suis nouveau sur android. Je suis confronté à deux problèmes 1. J'ai analysé fichier xml et il a montré dans webview qui contient des vidéos et des textes . Quand je clique sur les vidéos, il ne jouera pas . En xml vidéos youtube.
Pourquoi est-il si?
1.Premier problème :le code et l'image
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_view);
Intent intent=getIntent();
String urlsting=intent.getStringExtra("str");
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.setInitialScale(100);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.loadDataWithBaseURL(null, urlsting,"text/html", "utf-8", null);
}
Quand j'cliquez sur la vidéo il commence la navigation et montre seulement un écran noir,rien ne se passera.
![][1]
2. Je vous-tube de vidéos intégrées url que j'ai donné dans la balise html et essayer de le charger .Ils sont également de ne pas travailler pour moi. J'ai vérifié le nombre de questions et les blogs et ne fit pas de paramètres puis aussi incapable de montrer la vidéo . Aide sera appréciée .Merci à l'avance.
String video= "<table bgcolor=\"#666666\"><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/iiLepwjBhZE?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/lBMMTeuJ_UQ?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td><iframe width=\"300\" height=\"260\" frameborder=\"0\" id=\"player\" type=\"text/html\"src=\"http://www.youtube.com/embed/BZMkY3y7nM0?enablejsapi=1&origin=example.com\"></iframe></td></tr><tr><td></table>";
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.ON);
mWebView.getSettings().setPluginsEnabled(true);
//mWebView.loadDataWithBaseURL(null,load,"text/html","UTF-8",null);
mWebView.loadData(video,"text/html","UTF-8");
Dans ce cas, je charge le youtube embeded vidéos de webview, mais ils ne sont pas de travail.
![][2]
Je suis en utilisant android version 2.3.3.Je veux aussi des précisions qui est-il nécessaire d'installer adobe flash player sur émulateur, mais je pense que non, parce que les vidéos sont de travail dans le navigateur. quelqu'un peut-il dire que je suis bon ou mauvais?? s'il vous plaît essayer de me donner la solution car je suis bloqué avec ce problème il y a longtemps..
J'ai aussi essayé d'utiliser les balise object comme suit:
String obj="<object width=\"300\" height=\"260\"><param name=\"movie\" value=\"http://www.youtube.com/embed/iiLepwjBhZE?enablejsapi=1&origin=example.com\"?version=3&hl=pt_BR&rel=0\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/embed/iiLepwjBhZE?enablejsapi=1&origin=example.com\" ?version=3&hl=pt_BR&rel=0\" type=\"application/x-shockwave-flash\" width=\"480\" height=\"330\" allowscriptaccess=\"always\" allowfullscreen=\"true\" /></object>";
OriginalL'auteur The iCoder | 2011-11-14
Vous devez vous connecter pour publier un commentaire.
Vous devez
définir un WebChromeClient à votre WebView
et tourner sur hardwareAccelerated valeur
découvrez http://developer.android.com/reference/android/webkit/WebView.html et lire la Vidéo HTML5 partie support.
Cela fonctionne pour moi...
pls voir votre code
F Saint!! Je dois admettre que j'ai été 100% pessimiste que cela fonctionnerait, mais il a juste commencé à lire des vidéos youtube sur mon Samsung Note 2 dans une webview ! wow. P. S. au lieu de l'activation de l'accélération matérielle pour l'ensemble de l'application, je l'ai activé seulement pour l'activité que montre la vidéo youtube.
Malheureusement, quand j'ai joué la deuxième vidéo, j'ai été accueilli avec une exception dans webkit !
android.vue.WindowManager$BadTokenException: Impossible d'ajouter de la fenêtre -- jeton de la valeur null n'est pas valide; est votre activité en cours d'exécution? au android.vue.ViewRootImpl.setView(ViewRootImpl.java:798) à android.vue.WindowManagerGlobal.addView(WindowManagerGlobal.java:288) à android.vue.WindowManagerImpl.addView(WindowManagerImpl.java:73) à android.widget de.MediaController.show(MediaController.java:374) à android.webkit.HTML5VideoFullScreen.showControllerInFullScreen(HTML5VideoFullScreen.java:425) à android.webkit.HTML5VideoViewProxy$VideoPlayer.fin(HTML5VideoViewProxy.java:343)
OriginalL'auteur ayalcinkaya
Je suppose que vous utilisez balise iframe dans votre code html. Changer avec la balise object. Je veux dire, vous devez utiliser l'objet au lieu de l'iframe. Un exemple ici:
Utiliser le code ci-dessous:
Essayer cela et épais comme acceptée si votre problème est résolu 🙂
Je suppose que vous vous demandez cette phrase: "voici votre vidéo id" -> il doit être comme ça-> 7wfYIMyS_dI youtube.com/watch?v=7wfYIMyS_dI
Non, je vais également essayer d'utiliser cette balise object comme vous l'avez mentionné ci-dessus, alors il montrer ? en place de vidéos, veuillez vérifier les édité question.
Désolé, je n'ai pas ce que vous voulez dire , expliquer en bref.Merci.
Je ne peux pas aider plus. Je l'ai utilisé dans mon application, et qu'elle fonctionne. Je suppose que vous êtes en manque de quelque chose. Je vous conseille de vérifier votre code java et html de nouveau.
OriginalL'auteur slhddn
avez-vous testé votre application dans le réel de l'appareil? Parce que les vidéos qui sont incorporés comme cela, c'est à dire iFrame prennent plus de temps à se charger. Dans mon cas, la même chose qui se passait alors j'ai changé la webview paramètres,
mais après que ça ne fonctionnait pas sur émulateur et dans le périphérique, il était en train de charger donc j'ai pensé que sa ne fonctionne pas mais juste aujourd'hui j'ai essayé la même chose et ça marchait très bien à ma grande surprise. Vous avez juste besoin d'ajouter cette ligne de code.
Deuxième chose, c'est que seules les vidéos qui sont intégrés à la balise iframe sont pris en charge par l'activation des plugins pour vrai.
OriginalL'auteur Ravi A
Ce n':
Et activer l'accélération matérielle trop!
OriginalL'auteur Bolling
Suivre cette source, Youtube vidéo devrait jouer
//
OriginalL'auteur BaDo