MPMoviePlayerController不播放本地视频

时间:2013-12-05 09:27:29

标签: ios ipad mpmovieplayercontroller

我试图通过两种方法在iOS 6.0中通过MPMoviePlayerController播放视频。

  1. 相机拍摄后立即
  2. 来自相机胶卷
  3. 以下是它的摘录。

    -(void) playMovie
    {
      self.moviePlayer = [[MPMoviePlayerController alloc] init];
      [self.moviePlayer prepareToPlay];
      [self.moviePlayer setContentURL:self.movieURL];
      self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
      [self.moviePlayer.view setFrame:CGRectMake ( 0, 0, 320, 476)];
    
      [self.view addSubview:self.moviePlayer.view];
    
      [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayBackDidFinish:)
                                                 name:MPMoviePlayerPlaybackDidFinishNotification
                                               object:self.moviePlayer];
    
      [self.moviePlayer play];
    }
    

    我尝试将属性moviePlayer视为强大并保留但没有用处。 我的问题与此Question非常相似,视频会在一秒钟内停止。但是,如果您正在播放通过互联网播放的视频,则可以正常使用。

    以下是我尝试过的Git Source Code

2 个答案:

答案 0 :(得分:1)

尝试像这样初始化self.moviePlayer

  self.moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:contentPath]];

//contentPath is your movie file path

答案 1 :(得分:0)

我发现了这个问题。

我正在将它用于iPad,因此我使用UIPopoverController从库中选择视频,在选择完成后,我将didFinishPickingMediaWithInfo中的弹出窗口关闭并调用函数playMovie(上面写着) )

这里的问题是如果dismiss popover,也会移除moviePlayer。

虽然我不明白为什么会发生这种情况,但是我通过全局保存URL路径并添加了一个额外的播放按钮来解除弹出窗口后,为此创作了一个解决方法。完整代码为here