iphone - MPMoviePlayer Controller 不播放视频

标签 iphone ios ios6 mpmovieplayercontroller

我正在开发一款需要使用 Xcode 4.5.2 和 iOS 6.0 播放视频的应用。

我正在使用 MPMoviePlayerController 播放视频。我关注了this tutorial .但是,我仍然无法在模拟器中播放视频。

这是我的代码:

- (IBAction)playVideo:(id)sender {
 NSString *filepath   =   [[NSBundle mainBundle] pathForResource:@"Movie-1" ofType:@"mp4"];
 NSURL    *fileURL    =   [NSURL fileURLWithPath:filepath];
 MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
 moviePlayerController.shouldAutoplay =YES ;
 moviePlayerController.controlStyle = MPMovieControlStyleDefault ;
 moviePlayerController.scalingMode = MPMovieScalingModeFill ;
 [moviePlayerController.view setFrame:CGRectMake(0, 0, 360, 200)];
 [self.view addSubview:moviePlayerController.view];
 [[NSNotificationCenter defaultCenter] addObserver:self
                                          selector:@selector(moviePlaybackComplete:)
                                             name:MPMoviePlayerPlaybackDidFinishNotification
                                           object:moviePlayerController];
[moviePlayerController play ] ;

}

- (void)moviePlaybackComplete:(NSNotification *)notification
{
    MPMoviePlayerController *moviePlayerController = [notification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:moviePlayerController];

    [moviePlayerController.view removeFromSuperview];
}

我已经看了很多 SO 问题,但没有一个能解决我的问题。我还尝试创建一个 containerView 并将我的 MPMoviePlayerController 添加到我的 containerView 中。我没有让它工作。

我也尝试过 MPMoviePlayerViewController,到目前为止我能够让它工作。另一个问题是,我无法将 setFrame 设置为 MPMoviePlayerViewController。但是,我想将 setFrame 设置为我的视频播放器。它的大小不可能是全屏的。因为,我需要在我的视频播放器下方显示一些按钮。

你们知道我该怎么做吗?

编辑:控制台输出

2012-12-19 16:29:21.554 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:21.555 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:21.565 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:27.230 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:27.231 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:27.241 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:27.706 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:27.707 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:27.718 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:27.919 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:27.920 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:27.930 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:28.077 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:28.077 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:28.088 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:28.219 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:28.220 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:28.230 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:28.368 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:28.368 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:28.382 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:28.511 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:28.512 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:28.521 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)
2012-12-19 16:29:28.692 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay for pause
2012-12-19 16:29:28.692 Coverzzz[4952:c07] [MPAVController] Autoplay: Disabling autoplay
2012-12-19 16:29:28.702 Coverzzz[4952:c07] [MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 1, on player: 0)

最佳答案

我终于完成了这项工作。 iOS 5.0之后,需要将MPMoviePlayerController声明为属性。所以,我将其添加为一个属性并且它起作用了。

关于iphone - MPMoviePlayer Controller 不播放视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954761/

相关文章:

core-data - NSSortDescriptor 按核心数据对多关系中的项目数进行排序

objective-c - 没有 UITableViewController 的 UIRefreshControl

iphone - Monotouch如何管理资源(字符串、图像等)?

ios - 将文本居中到 UITextView

iphone - 为什么 NSDateFormatter 返回 nil?

android - Phonegap-从www文件夹加载mp3

ios - 如何禁用 UITableView 选择?

ios - 确定 NSString 编码

iphone - 基于获得的当前单元格的索引路径在自定义单元格中的按钮单击功能

iphone - 如何从另一个类设置 UILabel 文本