2017-01-26 8 views
0

Ich lade ein eingebettetes YouTube-Player in meinem Android webview nennen wie folgt:Wie wieder in Android-Code von Youtube IFRAME API

void loadYTVideoInWebView(String code) { 
String frameVideo = "<html><body style='margin:0px;padding:0px;'>\n" + 
     "  <script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>\n" + 
     "    var player;\n" + 
     "  function onYouTubeIframeAPIReady()\n" + 
     "  {player=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}\n" + 
     "  function onPlayerReady(event){player.playVideo();}\n" + 
     "  </script>\n" + 
     "  <iframe id='playerId' type='text/html' width='400' height='360'\n" + 
     "  src='https://www.youtube.com/embed/"+code+"?enablejsapi=1&autoplay=1' frameborder='0'>\n" + 
     "  </body></html>"; 
mWebView.loadDataWithBaseURL("http://www.youtube.com", frameVideo, "text/html", "utf-8", null);} 

Sobald die Wiedergabe von Video beendet ist, ich eine Benachrichtigung an die Android senden möchten Code. Ich weiß, dass wir das Video Ende in der Javascript wie etwas verwenden erkennen können:

function onPlayerStateChange(event) {   
     if(event.data === 0) {   
      alert('done'); 
     } 
    } 

Ich wollte wissen, ob es möglich ist, von hier aus wieder in den Android-Code aufzuzurufen.

Antwort

0

Nun, diese Antwort löst nicht direkt Ihr Problem mit IFRAME API, aber wenn Sie Android in Ihrer Anwendung verwenden möchten, dann versuchen Sie, die YouTube Android Player API anstelle von IFRAME API zu berücksichtigen.

Mit der YouTube Android Player-API können Sie Videowiedergabefunktionen in Ihre Android-Anwendungen integrieren. Die API definiert Methoden zum Laden und Abspielen von YouTube-Videos (und Playlists) sowie zum Anpassen und Steuern der Videowiedergabe.

Sie können Ereignis-Listener auch registrieren, um Rückrufe für bestimmte Ereignisse zu erhalten, z. B. wenn der Player ein Video lädt oder sich der Player-Status ändert. Schließlich verfügt die API über Hilfsfunktionen, um Orientierungsänderungen sowie Übergänge zur Vollbildwiedergabe zu unterstützen.

Ich hoffe, dass diese Informationen Ihnen helfen.

+1

Danke. Ich war mir dieser API bewusst. Ich bin mir jedoch nicht sicher, ob es den Benutzern ermöglicht wird, den Player in eine Webansicht einzubetten. Ich denke, sie laden das Video in ihrer benutzerdefinierten Ansicht oder in ihrem Fragment. Ich wollte auch so viel wie möglich, ohne auf externe Bibliotheken angewiesen zu sein. Ich hoffe, es gibt einen anderen Weg, sonst werde ich versuchen, das zu nutzen. – doomguy

+0

Ich konnte diese API verwenden, um einen Player zu erstellen und ihn über meinen Android-Code zu steuern. Vielen Dank. – doomguy