我已经编写了在iPhone OS 3.1.3中播放视频的代码,并且视频可以正常播放。
但是当我尝试使用相同的代码播放视频时,则视频无法在iOS 4中播放。
我知道Media Player框架已针对iOS 4进行了更改。是否可以在不准备单独的二进制文件的情况下以任何方式在不同的OS上播放视频?
最佳答案
首先检查您是否在OS 3.2或更高版本上。如果是,请以新方式创建电影播放器:
if (NSClassFromString(@"UISplitViewController") != nil) {
MPMoviePlayerViewController *mp = [[MPMoviePlayerViewController alloc] initWithContentURL:yourURL];
[[mp moviePlayer] prepareToPlay];
[[mp moviePlayer] setShouldAutoplay:YES];
[[mp moviePlayer] setControlStyle:2];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[self presentMoviePlayerViewControllerAnimated:mp];
} else {
moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:yourURL];
[self playMovieTheOldWay:moviePlayer];
}
您可以这样关闭新的电影播放器:
-(void)videoPlayBackDidFinish:(NSNotification*)notification
{
[self dismissMoviePlayerViewControllerAnimated];
}