Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Play YouTube videos in iPhone app without using UIWebView?

I want to play YouTube videos from my iPhone app. I have to tried play YouTube videos in my iPhone app with the following codes,

[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); } 

But, this code is not working for me. And also i have tried with MPMoviePlayerController the code is,

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]; 

This is also not working for me. Can anyone please tell me where i did wrong and suggest me any ideas? I want to play the YouTube videos in MPMoviewPlayerController rather than using UIWebView. Thanks in advance.

like image 356
Yuvaraj.M Avatar asked Jan 30 '12 06:01

Yuvaraj.M


People also ask

How can I watch YouTube videos while using other apps iPhone?

To use picture-in-picture (PiP), exit the YouTube app while a video is playing. If you have the PiP setting turned on, the video will shrink into a PiP window. The PiP window can be dragged to different parts of the screen, allowing playback to continue on top of other apps.


1 Answers

Just use XCDYouTubeVideoPlayerViewController. It seamlessly adds youtube video to your app without the need of UIWebView.

It uses progressive download + MoviePlayer and AVFoundation frameworks. Just supply it with a youtube video ID and you are good to go.

It supports both full-screen & non full-screen and WORKS ON iOS SIMULATOR!!!

Example:

XCDYouTubeVideoPlayerViewController *videoPlayerViewController = [[XCDYouTubeVideoPlayerViewController alloc] initWithVideoIdentifier:@"9bZkp7q19f0"]; [self presentMoviePlayerViewControllerAnimated:videoPlayerViewController]; 
like image 144
Hlung Avatar answered Oct 02 '22 12:10

Hlung