Hey, I use MPMoviePlayerViewController to display video. I don't know how to handle network problems. I would like to dismiss the MPMoviePlayerViewController controller on error. The dismissMoviePlayerViewControllerAnimated method works only the first time, the second time I get black screen.
Example code:
// VideoViewController.h
#import <MediaPlayer/MediaPlayer.h>
@interface VideoViewController : MPMoviePlayerViewController
{
}
@end
// VideoViewController.m
@implementation VideoViewController
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDidLoad:) name:MPMoviePlayerContentPreloadDidFinishNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieDidLoad:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
}
-(void)movieDidLoad:(NSNotification*)notification
{
[self dismissMoviePlayerViewControllerAnimated];
}
@end
// XController's function to call it
- (void)showVideoView
{
VideoViewController * controller = [[VideoViewController alloc] initWithContentURL:[NSURL URLWithString:@"http://myvideos.com/movie.m4v"]];
[self presentMoviePlayerViewControllerAnimated:controller];
[controller.moviePlayer play];
[controller release];
}
Please tell me how to handle network problems. Note also, that video is always in fullscreen.