iphone - MPMoviePlayerController 仅在通用应用程序中抛出错误

标签 iphone ipad ios mpmovieplayercontroller universal

我的应用在启动时以全屏模式播放视频。从 3.0 到 4.1,一切都完美无缺。

但是,如果我为通用应用程序编译相同的代码,它将在 iPad 上运行,但不再在 iPhone(模拟器)上运行。

有人解决过这个问题吗?

代码如下:

if ([self respondsToSelector:@selector(presentMoviePlayerViewControllerAnimated:)]) {
  videoPath = [[NSBundle mainBundle] pathForResource:@"portrait" ofType:@"mov"];
  videoURL = [NSURL fileURLWithPath:videoPath];

  MPMoviePlayerController *aMoviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
  self.moviePlayerController = aMoviePlayerController;
  [aMoviePlayerController release];  

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startVideo:) name:MPMoviePlayerLoadStateDidChangeNotification object:nil];
  [moviePlayerController.view setFrame:self.view.bounds];
  [self.view addSubview:moviePlayerController.view];

  moviePlayerController.controlStyle = MPMovieControlStyleNone;
 } else {
  //OS < 3.2
  videoPath = [[NSBundle mainBundle] pathForResource:@"landscape" ofType:@"mov"];
  videoURL = [NSURL fileURLWithPath:videoPath];

  MPMoviePlayerController *aMoviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
  self.moviePlayerController = aMoviePlayerController;
  [aMoviePlayerController release];

  moviePlayerController.movieControlMode = MPMovieControlModeHidden;
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(startVideo:) name:MPMoviePlayerContentPreloadDidFinishNotification object:nil];
 }

这里是错误:

-[MPMoviePlayerControllerOld view]: unrecognized selector sent to instance

0x7924470

即使我试图像这样阻止这种情况......

if ([moviePlayerController respondsToSelector:@selector(view)]) {
   [moviePlayerController.view setFrame:self.view.bounds];
  }

...仍然会抛出错误。

最佳答案

几天前我遇到了同样的错误。它只需要将基础 sdk 从 3.2 更改为 4.1 希望对你有帮助

关于iphone - MPMoviePlayerController 仅在通用应用程序中抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915076/

相关文章:

iphone - 如何仅为特定设备设置视口(viewport)?

iphone - 安全 WCF 不适用于非 Windows 客户端 iPhone

iphone - 防止在 UITableViewCell 内重新加载 MKMapView

iphone - 将 iPad 内容输出到外部显示器

ios - 数组iOS的Json序列化

ios - 如何在非ARC模式下手动释放此静态变量

ios - 打开应用程序时获取当前位置

ios - 苹果开发者证书

iphone - 实现自定义动画以在 iPad 上从指定 View 呈现模态视图

ios - 我怎样才能用 Swift 编程渐变边框颜色 UIButton