Ich möchte YouTube-Videos von meiner iPhone-App aus abspielen. Ich habe versucht, YouTube-Videos in meiner iPhone-App mit den folgenden Codes abzuspielen.
[self playVideo:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q" frame:CGRectMake(20, 70, 280, 250)];
- (void)playVideo:(NSString *)urlString 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, urlString, frame.size.width, frame.size.height];
UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:html baseURL:nil];
[self.view addSubview:videoView];
[videoView release];
NSLog(@"%@",html);
}
Dieser Code funktioniert jedoch nicht für mich. Und ich habe auch mit MPMoviePlayerController
versucht, der Code lautet:
NSURL *fileURL = [NSURL URLWithString:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q"];
MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[moviePlayerController.view setFrame:CGRectMake(0, 70, 320, 270)];
[self.view addSubview:moviePlayerController.view];
moviePlayerController.fullscreen = YES;
[moviePlayerController play];
Das funktioniert auch nicht für mich. Kann mir bitte jemand sagen, wo ich etwas falsch gemacht habe, und mir Vorschläge machen? Ich möchte die YouTube-Videos in MPMoviewPlayerController
abspielen, anstatt UIWebView
zu verwenden. Danke im Voraus.
Mr.Yuvaraj.M Ihr obiger Code ist korrekt. Bitte führen Sie das Projekt auf Ihrem iPhone/iPod Touch-Gerät aus. Die Youtube-Videos unterstützen/unterstützen möglicherweise nicht im Simulator. Bitte überprüfen Sie dies. Vielen Dank.
Verwenden Sie einfach XCDYouTubeVideoPlayerViewController . Sie fügt Ihrer App nahtlos Youtube-Videos hinzu, ohne dass UIWebView
erforderlich ist.
Es verwendet progressive Download-Frameworks (MoviePlayer
) und AVFoundation
. Gib einfach eine Youtube-Video-ID an und du kannst loslegen.
Es unterstützt sowohl Vollbild- als auch Nicht-Vollbildmodus und WORKS ON iOS SIMULATOR !!!
Beispiel:
XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"];
[self presentMoviePlayerViewControllerAnimated:videoPlayerViewController];
Mit der YouTube Data API (v3) ist jetzt eine YTPlayerView
-Klasse verfügbar.
Werfen Sie einen Blick auf Verwenden der YouTube Helper Library zum Einbetten von YouTube-Videos in Ihre iOS-Anwendung
Es enthält umfassende Anweisungen zur Installation der Hilfsbibliothek und zur Integration von YTPlayerView in Ihr Storyboard.
Pod-Pod 'XCDYouTubeKit' hinzufügen
importieren Sie XCDYouTubeKit in ViewController
func playYoutubeVideo(){
let strUrl = "https://www.youtube.com/watch?v=9m_K2Yg7wGQ"
if let range = strUrl.range(of: "=") {
let strIdentifier = strUrl.substring(from: range.upperBound)
print("Identifier:\(strIdentifier)")
let videoPlayerViewController =
XCDYouTubeVideoPlayerViewController(videoIdentifier: strIdentifier)
videoPlayerViewController.present(in: viewYTVideo)
videoPlayerViewController.moviePlayer.play()
}
}
Rufen Sie statt des verwendeten HTML-Einbettungscodes die YouTube-Website auf, suchen Sie ein Video, verwenden Sie die Freigabe-Schaltfläche und dann die Schaltfläche "Einbetten", um ein Beispiel für das Einbetten von HTML zu erhalten. Verwenden Sie dieses Muster zum Einbetten des Videos anstelle der aktuell verwendeten Flash-Version.