Steaphann
Steaphann

Reputation: 2777

playing a youtube movie from url in objective C

I have a tableview which contains youtube urls.

http://www.youtube.com/v/M67PNWvKdg0&autoplay=1

I am trying to play the video file with the following piece of code. I also imported the media framework.

  Video *video = [self.fetchedResultsController objectAtIndexPath:indexPath];
        NSURL *urlString=[NSURL URLWithString:video.url];
        //NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                             //pathForResource:@"Video1" ofType:@"mp4"]];

        MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc]
                                                         initWithContentURL:urlString];

        [self presentMoviePlayerViewControllerAnimated:playercontroller];

        playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile;

        [playercontroller.moviePlayer play];


        playercontroller = nil;

What it does for now is it pops up a movie player but then immediately goes back to my tableview. Does anybody knows what the problem is?

Thanks in advance

Upvotes: 0

Views: 4783

Answers (4)

Michelle Cannon
Michelle Cannon

Reputation: 1341

There's another way but you have to be a little adventurous. You can use a third party rtsp framework of which there are a few.

Then you need to link to the m.youtube.com, this is the rtsp version of youtube that Android and other phones will get you to.

If you try to open this link in safari on the iphone the page redirects to the h264 links. You can open the url in an uitableview and change the user-agent tag. Or simply copy the links you want into a table.

Are all youtube videos automatically converted to h264 now, at one time I remember they were a subset of the rtsp pages.

If you have an Android device you can access this page in a webview quite easily.

here check this link out.

http://streammore-tv.tumblr.com/post/34794206547/welcome

Upvotes: 0

nuteron
nuteron

Reputation: 541

May be this link would help you, and one more thing is the video plays only on device cant test on a simulator.

Upvotes: 0

mayuur
mayuur

Reputation: 4746

Are you working on iOS 6? I found difficulty in playing Youtube videos through MPMoviePlayerController, so I found out this to be very useful.

This has MPMoviePlayerController only... And this would work well for Versions < iOS 6 too.

Upvotes: 1

Andrei Chevozerov
Andrei Chevozerov

Reputation: 1029

You can't play youtube videos via Media Player. You have only two solutions: open the link via external app (just open it and iOS will run Safari or YouTube.app if installed) or you can implement your own view with UIWebView and open the link inside WebView.

Upvotes: 1

Related Questions