1

我有一个显示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];
}
4

1 回答 1

2

与其将创建一个视图控制器的代码放在viewWillAppear另一个视图控制器中,为什么不直接创建MPMoviePlayerViewController呢?通常创建或显示视图控制器以直接响应某些用户操作。除此之外,显示的代码没有任何问题。我在模拟器中播放电影从来没有遇到任何问题,但是我MPMoviePlayerViewController在 didSelectRow 中创建了或响应按钮单击。

于 2010-05-11T17:21:40.667 回答