Как изменить вид после воспроизведения видео? - PullRequest
2 голосов
/ 07 сентября 2010

Я хотел бы создать приложение, в котором, когда я нажимаю кнопку, начинается воспроизведение одного видео, а когда оно заканчивается или когда я нажимаю кнопку «Готово», оно должно привести меня к виду, отличному от первого, где язапустил видео.

Обновление:

Это код, который я использую, но он не работает.Мне нужно использовать MPMoviePlayerViewController вместо MPMoviePlayerController.Есть идеи?

NSBundle *Bundle = [NSBundle mainBundle];
    NSString *moviePath = [Bundle pathForResource:@"video1" ofType:@"m4v"];
    NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain];
    MPMoviePlayerViewController *moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
    [self presentMoviePlayerViewControllerAnimated:moviePlayer];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];


- (void) movieFinishedCallback:(NSNotification*) notification {
    MPMoviePlayerViewController *moviePlayer = [notification object];
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:moviePlayer];    
    [moviePlayer release];
    // dismiss your view or present a new view here.
    View1 *View1b = [[View1 alloc] initWithNibName:nil bundle:nil];
    View1b.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController: View1b animated:YES];
}

1 Ответ

0 голосов
/ 07 сентября 2010

Если вам не нужно что-то особенное, MPMoviePlayerController, вероятно, подойдет вам. Вы можете добавить его к своему представлению или меньшему подпредставлению, а также отключить элементы управления для полноэкранного режима и т. Д. URL-адрес может быть в локальном файле или удалить ресурс.

MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL: url];
[player view].frame = [myView bounds];
[myView addSubview: [player view]];
[player play];

Наблюдайте за MPMoviePlayerPlaybackDidFinishNotification, чтобы выяснить, когда это будет сделано, и из блока или выбранного метода этого наблюдателя вы можете отклонить свое представление или представить новое представление.

[[NSNotificationCenter defaultCenter] 
        addObserver:self
           selector:@selector(movieFinishedCallback:)                                                 
               name:MPMoviePlayerPlaybackDidFinishNotification
             object:player];

Тогда

- (void) movieFinishedCallback:(NSNotification*) notification {
    MPMoviePlayerController *player = [notification object];
    [[NSNotificationCenter defaultCenter] 
        removeObserver:self
                  name:MPMoviePlayerPlaybackDidFinishNotification
                object:player];    
    [player release];

    // dismiss your view or present a new view here.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...