I am trying to play a video stream from the internet on the iPhone by pressing a button. I used many code samples but nothing worked. With this code it opens a black view without any video stream or controls in it. (The stream itself works.)
NSURL *url = [NSURL URLWithString:@"http://MyStreamURL.com"];
MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePlayer];
moviePlayer.controlStyle = MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer setFullscreen:YES animated:YES];
Need to mention movie source type as streaming
Add AVFoundation frame work in Link Libraries section
In your .h file add
In your .m file
Instead of creating a
MPMoviePlayerController
and adding that to your view, it is probably simpler to create aMPMoviePlayerViewController
and present that view controller modally (since you are trying to show your video full screen anyway). Then the MPMoviePlayerViewController can manage the presentation of your video for you.In your
moviePlayBackDidFinish
delegate method you can then dismiss the model view controller.just add "
MPMovieSourceTypeStreaming
" to "moviesourcetype
"