Ich versuche, einige youTube-Videos mit dem MPMoviePlayerController zu streamen, habe jedoch einige Probleme. Der Code, den ich verwende, ist ziemlich einfach und ich kann .m4v-Videos abspielen, indem ich eine URL an initWithContentURL übergebe. Wenn ich den Movie Player starte, wird der Player gestartet, verschwindet jedoch nach etwa 20 Sekunden. Wenn ich es im Simulator versuche, erhalte ich eine Warnansicht, 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 die folgenden URLs ausprobiert: http://www.youtube.com/watch?v=HGd9qAfpZio
Ich habe auch das Argument & format = 1 gesehen und versucht, das am Ende beider Zeichenfolgen hinzuzufügen, aber kein Glück.
Antworten:
Die einzige Möglichkeit, ein YouTube-Video in Ihrer eigenen App abzuspielen, besteht darin, ein
UIWebView
mit dem eingebetteten Tag von Youtube für den Film zu erstellen, den Sie alsUIWebView'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 unter dem von Muxecoid bereitgestellten Link beschrieben wird ( wie YouTube-Videos in einer Anwendung abgespielt werden ), und dies ist (soweit ich weiß) die einzige Möglichkeit, ein YouTube-Video in einer Anwendung abzuspielen. Sie können die Youtube-Anwendung weiterhin starten, indem Sie die Youtube-URL an übergeben. Dadurch-[UIApplication openURL:]
wird jedoch Ihre eigene Anwendung geschlossen, was häufig unerwünscht ist.Leider gibt es keine Möglichkeit, ein YouTube-Video direkt abzuspielen,
MPMoviePlayerController
da YouTube keine direkten Links zu den Videodateien bereitstellt.quelle
Wenn Sie Code verwenden:
Quelle:
Verweisen Sie einfach auf diesen Link
Stellen Sie sicher, dass Sie es auf dem Gerät und nicht auf dem Simulator testen. Da der Simulator immer ein Fragezeichen mit blauem Kästchen anzeigt (es gibt keinen Schnellspieler).
quelle
Wie ich oben in meinem Kommentar geschrieben habe, musste ich dies in einem Projekt tun, an dem ich arbeitete. Ich habe dieses Problem gelöst und den Code auf Github eingereicht.
Sie können die Quelle überprüfen und Gabel hier .
Grundsätzlich wird eine YouTube-URL benötigt, um alle iOS-kompatiblen Video-URLs abzurufen.
Hoffe das ist zu jeder Hilfe!
Prost
quelle
Ich bin gerade auf jemanden gestoßen, der ein
YouTube
Video in einem platzieren konnteMPMoviePlayerController
. Es scheint jetzt möglich zu sein.LBYouTubeView
quelle
Um Ihre Tube-Videos abzuspielen, müssen Sie die URL extrahieren, bevor Sie die URL weitergeben
MPMoviePlayer
. 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
jedem anderen Video und ist auch ein ziemlich guter Ansatz.BEARBEITEN: Stellen Sie sicher, dass Sie Readme.md gut durchgehen, bevor Sie dies in Ihrem Projekt verwenden
quelle
Es ist so einfach wie das src-Element des iframe für den neuen Einbettungscode zu nehmen und aufzurufen
quelle
Überprüfen Sie den folgenden Link. Ich denke, es wird dir helfen.
https://mobiletechfeast.blogspot.in/2014/08/youtube-player-for-ios.html
quelle
Es gibt eine offizielle Möglichkeit, YouTube-Videos in eine von Google bereitgestellte iOS-Anwendung einzubetten.
Installieren Sie die Bibliothek über Cocoapods: pod "youtube-ios-player-helper"
Import von:
#import “YTPlayerView.h”
VerwendenUIView
und setzen Sie die Klasse aufYTPlayerView
oder erstellen Sie ein Objekt vonYTPlayerView
programmgesteuert.Video laden:
[self.playerView loadWithVideoId:@"M7lc1UVf-VE"];
Es gibt auch
playVideo
undstopVideo
Methoden zur Verfügung. Für weitere Informationen besuchen Sie diesen Linkquelle