ios - 无法在 iOS 4 中播放视频

标签 ios ios4 media-player

我编写了在 iPhone OS 3.1.3 中播放视频的代码,并且视频播放正常。

但是当我尝试使用相同的代码播放视频时,视频在 iOS 4 中无法播放。

我知道 iOS 4 的媒体播放器框架已更改。有什么方法可以在不同操作系统上播放视频而无需准备单独的二进制文件?

最佳答案

首先检查您的操作系统是否为 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];
}

关于ios - 无法在 iOS 4 中播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3341782/

相关文章:

ios - 在 UITableView 中保持时间戳标签更新

iphone - 如何通过手势更改引号

java - 使用特定应用程序 java 打开 mp3 文件

html - 我的 Azure 媒体服务视频无法在 Azure 媒体播放器中播放

ios - startMonitoringSignificantLocationChanges 在后台应用时每 47 秒调用一次

ios - PFQuery,其中指针数组包含某个 PFObject

iOS - 从套接字获取 CFReadStream/CFWriteStream

iphone - 我怎样才能舍入一个 float ?

iPhone 打开文件类型的默认应用程序

asynchronous - 进行地面AsyncTask