我已经编写了在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];
}

10-05 20:21
查看更多