Тестирование MPMoviePlayerViewController в симуляторе iPad - PullRequest
1 голос
/ 11 мая 2010

У меня есть вид, который показывает 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 Ответ

2 голосов
/ 11 мая 2010

Вместо того, чтобы помещать код для создания одного контроллера представления в viewWillAppear другого контроллера представления, почему бы просто не создать MPMoviePlayerViewController напрямую? Обычно контроллеры представления создаются или отображаются в прямом ответе на какое-либо действие пользователя. Кроме этого нет ничего плохого в показанном коде. У меня никогда не было проблем с воспроизведением фильмов на симуляторе, но я создал MPMoviePlayerViewController в didSelectRow или в ответ на нажатие кнопки.

...