我有一个以MPMoviePlayerViewController
模式显示的视图。在iPad模拟器中进行测试时,它在第一次尝试时效果很好。如果我关闭视频然后再次显示视图,则播放器仅播放音频,而不播放视频。
这是模拟器的怪癖还是我做错了什么?这是我的代码:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
MPMoviePlayerViewController* v = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:v.moviePlayer];
[self presentMoviePlayerViewControllerAnimated:v];
[v release];
}
-(void) playbackDidFinish:(NSNotification*)aNotification
{
MPMoviePlayerController *player = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[player stop];
[self dismissMoviePlayerViewControllerAnimated];
}
答案 0 :(得分:2)
为什么不直接创建viewWillAppear
,而不是让代码在另一个视图控制器的MPMoviePlayerViewController
中创建一个视图控制器?通常,视图控制器是直接响应某些用户操作而创建或显示的。除此之外,所显示的代码没有任何问题。我在模拟器中播放电影时从未遇到过任何问题,但我在didSelectRow中创建了MPMoviePlayerViewController
或者点击了按钮。