iOS 3.2 이상 버전에서는 MPMoviePlayerViewController가 추가되었습니다.
- (void) moviePlayBack:(NSNotification *)noti {
NSURL *movieURL = (NSURL *)[[noti userInfo] objectForKey:@"url"];
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 3.2) {
MPMoviePlayerViewController *playerView = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
playerView.view.backgroundColor = [UIColor blackColor];
playerView.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:playerView.moviePlayer];
[self presentMoviePlayerViewControllerAnimated:playerView];
[playerView release];
} else if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2) {
MPMoviePlayerController* moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];
[moviePlayer play];
}
}
- (void) playbackDidFinish:(NSNotification *)noti {
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 3.2) {
MPMoviePlayerController *player = [noti object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];
[player stop];
[self dismissMoviePlayerViewControllerAnimated];
} else if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 3.2) {
MPMoviePlayerController *player = [noti object]; [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player]; [player stop]; [player release];
}
}


