2

我正在尝试展示一个 MPMoviePlayerViewController。

MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc]
                              initWithContentURL:[NSURL URLWithString:media_url]];

如果我通过 addSubview 将 theMoviePlayer View 添加到当前视图,一切都很好。但是,如果我试图在模态窗口中显示播放器,则只有视频的音频会在后台播放。视图未显示。

[self presentMoviePlayerViewControllerAnimated:theMoviePlayer]; 
4

1 回答 1

0

我猜你在 viewDidLoad 中调用了 presentMoviePlayerViewControllerAnimated 并且你的视图控制器没有添加到导航堆栈中。

[self presentMoviePlayerViewControllerAnimated] 将 MPMoviePlayerViewController 呈现为模态视图,您只能从已经显示在屏幕上的控制器呈现模态视图控制器。

因此,要修复它,您可以 <1> 将视图控制器推入导航堆栈并在 viewDidLoad 之后调用 [self presentMoviePlayerViewControllerAnimated]

<2> 如果没有导航堆栈,您需要在 viewDidLoad 之后的下一个运行循环中调用 [self presentMoviePlayerViewControllerAnimated],例如使用IBAction或使用dispatch_after

于 2012-08-06T07:47:38.330 回答