Ich versuche, einige YouTube-Videos mit dem MPMoviePlayerController zu streamen, aber ich habe einige Probleme. Der Code, den ich verwende, ist ziemlich einfach und ich kann .m4v-Videos abspielen, indem ich eine URL an initWithContentURL übergeben. Wenn ich den Film-Player starte, wird der Player gestartet, aber nach ca. 20 Sekunden wird er wieder entfernt. Wenn ich es im Simulator versuche, erhalte ich eine Warnmeldung, die besagt, dass der Server nicht richtig konfiguriert ist. Gibt es ein Argument, das ich mit der URL übergeben muss, um eine bestimmte Art von Video-Feed von Google zu erhalten?
NSURL *videoURL = [NSURL URLWithString:@"http://www.youtube.com/v/HGd9qAfpZio&hl=en_US&fs=1&"];
MPMoviePlayerController *moviePlayer;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer play];
Ich habe auch folgende URL ausprobiert http://www.youtube.com/watch?v=HGd9qAfpZio
Ich habe auch das Argument & format = 1 gesehen und versucht, das an das Ende der beiden Saiten anzufügen, aber kein Glück.
Die einzige Möglichkeit, ein Youtube-Video in Ihrer eigenen App abzuspielen, besteht darin, eine UIWebView
mit dem eingebetteten Tag von Youtube für den Film zu erstellen, den Sie als UIWebView's
-Inhalt abspielen möchten. UIWebView
erkennt, dass das eingebettete Objekt ein Youtube-Link ist, und der Inhalt der Webansicht ist die Youtube-Vorschau für das Video. Wenn Ihr Benutzer auf die Vorschau klickt, wird das Video in einem MPMoviePlayerController angezeigt. Dies ist die Technik, die bei dem von Muxecoid bereitgestellten Link beschrieben wurde ( wie man Youtube-Videos innerhalb einer Anwendung abspielt ), und dies ist (soweit ich weiß) die einzige Möglichkeit, ein Youtube-Video innerhalb einer Anwendung abzuspielen. Sie können die Youtube-Anwendung trotzdem starten, indem Sie die Youtube-URL an -[UIApplication openURL:]
übergeben. Dies schließt jedoch Ihre eigene Anwendung, was oft unerwünscht ist.
Leider ist es nicht möglich, ein Youtube-Video direkt mit MPMoviePlayerController
abzuspielen, da Youtube keine direkten Links zu den Videodateien bereitstellt.
Wenn Sie .__ verwenden. Code:
- (void)embedYouTube:(NSString*)url frame:(CGRect)frame {
NSString* embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height];
if(videoView == nil) {
videoView = [[UIWebView alloc] initWithFrame:frame];
[self.view addSubview:videoView];
}
[videoView loadHTMLString:html baseURL:nil];
}
Quelle:
Verweise einfach auf diesen Link
Stellen Sie sicher, dass Sie es auf dem Gerät testen und nicht auf dem Simulator. Da der Simulator das Fragezeichen immer mit einem blauen Kästchen anzeigt (er hat keinen Schnellspieler).
Wie ich oben in meinem Kommentar schrieb, musste ich dies in einem Projekt tun, an dem ich arbeitete. Ich habe dieses Problem gelöst und den Code auf Github übermittelt.
Sie können die Quelle überprüfen und sie hier .
Im Grunde nimmt es eine Youtube-URL und erhält alle iOS-kompatiblen Video-URLs.
Hoffe das ist jede Hilfe!
Prost
Ich bin gerade auf jemanden gestoßen, der ein YouTube
-Video in eine MPMoviePlayerController
einfügen konnte. Es erscheint jetzt möglich.
Um Ihre Tube-Videos abzuspielen, müssen Sie die URL extrahieren, bevor Sie die URL in MPMoviePlayer
übergeben. Sie können es nicht direkt spielen.
Mein Github Repo hat eine Demo-Implementierung davon.
Sehen:
https://github.com/DpzAtMicRO/IOSYoutubePlayer
Probieren Sie es aus, dies ermöglicht das Laden und Abspielen von Youtube-Videos direkt in MPMoviePlayer
wie bei jedem anderen Video.
BEARBEITEN: Stellen Sie sicher, dass Sie die Readme.md gut durchlaufen, bevor Sie diese in Ihrem Projekt verwenden
Es ist so einfach wie das src-Element des iframe für den neuen Einbettungscode und das Aufrufen
[self.webView loadRequest:[NSURLRequest requestWithURL:self.url]];
Es gibt eine offizielle Möglichkeit, YouTube-Videos in iOS-Anwendungen einzubetten, die von Google bereitgestellt werden.
Installiere die Bibliothek über Cocoapods: pod "youtube-ios-player-helper"
importieren nach: #import “YTPlayerView.h”
Verwenden Sie UIView
und setzen Sie class auf YTPlayerView
oder erstellen Sie ein Objekt von YTPlayerView
programmgesteuert.
Video laden: [self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
Es gibt auch playVideo
- und stopVideo
-Methoden. Für weitere Informationen besuchen Sie diesen Link
Überprüfen Sie den folgenden Link. Ich denke es wird dir helfen.
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html