iphone: как остановить воспроизведение видео по нажатию кнопки «Назад»? - PullRequest
0 голосов
/ 07 июля 2011

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

    -(IBAction)backButtonPressed
        {
           [[NSNotificationCenter defaultCenter] addObserver:self         selector:@selector(movieDidExitFullScreen:) name:MPMoviePlayerPlaybackDidFinishNotification object:player];
            [self.navigationController popViewControllerAnimated:YES];
        }

- (void) movieDidExitFullScreen:(NSNotification*)notification 
{    

    [[NSNotificationCenter defaultCenter] removeObserver: self
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object: [notification object]];

    MPMoviePlayerController *theMovie1 = [notification object];

    [self.navigationController popViewControllerAnimated:YES];

    [theMovie1 release];
}

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Вы фактически не останавливаете воспроизведение фильма в этом коде, вы просто удаляете представление, на котором было показано видео.Вы настраиваете уведомление о том, когда видео останавливается, чтобы метод movieDidExitFullScreen не вызывался до тех пор, пока не закончится воспроизведение видео.Самое простое решение - позвонить по номеру [theMovie1 stop], но вам нужно каким-то образом получить доступ к фильму из своего backButtonPressed

.
0 голосов
/ 07 июля 2011

Замените кнопку «Назад» на «Действие события» ниже.

-(IBAction)backButtonPressed
{
    [player stop];
    [player release];
    player =nil;
    [self.navigationController popViewControllerAnimated:YES];
}

Это остановит игрока и отпустит его перед возвращением. Надеюсь, что это поможет.

...