在iPad模拟器中测试MPMoviePlayerViewController

时间:2010-05-11 16:35:44

标签: iphone ipad ios-simulator mpmovieplayercontroller

我有一个以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];
}

1 个答案:

答案 0 :(得分:2)

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