Wiedergabe von YouTube / Vimeo-Videos in der Anwendung auf dem iPhone

Ich erstelle eine Anwendung, in der ich Videos von URLs wie Youtube, Vimeo, Direct URLs abspielen möchte. Ich erstelle einen benutzerdefinierten Player mit AVPlayer, um ein Video von einer direkten URL eines Videoclips abzuspielen (wie z. B. www.abc/play.mp4). Aber später hatte ich ein riesiges Problem beim Abspielen von YouTube- und Vimeo-Videos. Und nachdem ich viel gesucht habe, habe ich diesen Link gefunden, auf dem steht, dass ich ohne UIWebview keinen Youtube-Link abspielen kann:

Spielen Sie YouTube-Videos mit MPMoviePlayerController statt mit UIWebView ab

Wiedergabe von Videos über einen YouTube-Link ohne UIWebView

Also habe ich einfach diesen Code benutzt:

NSString *youTubeVideoHTML = @"<html><head><style>body{margin:0;}</style></head> <body> <div id=\"player\"></div> <script> var tag = document.createElement('script'); tag.src = 'http://www.youtube.com/player_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubePlayerAPIReady() { player = new YT.Player('player', { width:\'100%%\', height:'200px', videoId:\'%@\', events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.playVideo(); } </script> </body> </html>";

NSString *html = [NSString stringWithFormat:youTubeVideoHTML, videoId];
self.embedded_player_view.mediaPlaybackRequiresUserAction = NO;

[self.embedded_player_view loadHTMLString:html baseURL:[[NSBundle mainBundle] resourceURL]];

Wenn ich nun in der Tabellenansicht auf den YouTube / Vimeo-Videolink klicke, wird das Video mit dem Standardplayer, d. H. Dem QuickTime-Player, abgespielt. Das Video wird nicht im UIWebview-Frame selbst ausgeführt. Ich möchte das Video jedoch in der ersten Hälfte des Bildschirms anzeigen, d. H. In meinem UIWebview-Frame. Ist das möglich?

In meiner App sehe ich folgendes:

Wenn ich auf die rote Wiedergabetaste klicke, kann ich das Video im Quicktime-Player wie folgt im Vollbildmodus sehen:

Ich möchte das Video jedoch nicht über den Quick Time Player im selben WebView-Frame anzeigen. Es sollte so spielen:

Gleiches gilt inMusicTube undPlayTube.

Oder gibt es einen anderen Weg, um dasselbe zu erreichen? Jede Hilfe wird geschätzt. Danke im Voraus.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage