Bonjour,
Je voudrais lire une vidéo Dailymotion dans mon application.
Je pourais juste mettre un lien vers la page dailymotion, le navigateur se lancerait et on arriverait sur la page de la vidéo, et après faudrait encore appuyer sur le player pour lancer la vidéo, c'est pas super pratique comme truc...
Ouais donc, j'ai évidement :
<uses-permission android:name="android.permission.INTERNET" />
Dans le <manifest> en dehors d'<application>.
Dans mon Activity :
1 2 3 4
| setContentView(R.layout.news_video);
WebView mWebView = (WebView)findViewById(R.id.webView1);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true); |
Sur le site Dailymotion au niveau de l'Embed il y a beaucoup de choix, notament :
Activer le lecteur iframe compatible iPhone, iPad, Android, ... (beta)
Au début je faisais :
1 2
| String html="***";
mWebView.loadData(html, "text/html", "utf-8"); |
Mais au final pour les tests c'est plus pratique de faire ça :
mWebView.loadUrl("file:///android_asset/dailymotion.html");
Donc je charge bien la page dans ma WebView, mais la vidéo ne se lance pas.
En cherchant j'ai trouvé ça :
1 2 3 4 5 6 7 8 9 10 11
| <script type="text/javascript">
(function(){try{
var m = navigator.mimeTypes, t = 'application/x-shockwave-flash', a = 'ShockwaveFlash.ShockwaveFlash';
if (m && m.length ? !m[t] : !(function(){try{return new ActiveXObject(a)}catch(e){}})())
{
var e = document.createElement('script'); e.type = 'text/javascript'; e.async = true;
e.src = 'http://www.dailymotion.com/js/external/embedcompat.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(e, s);
}
}catch(e){}})();
</script> |
J'ai éssayé de mettre ça dans le <head> ça fonctionne bien avec le navigateur de l'ordinateur, mais pas dans l'application Android.
Vous avez une solution ?
Partager