MPMoviePlayerViewController repeatMode не работает? - PullRequest
2 голосов
/ 22 июля 2010

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

MPMoviePlayerViewController *mpViewController =[[MPMoviePlayerViewController alloc] init];
mpViewController.moviePlayer.contentURL= movieURL;
self.aPlayer=mpViewController;
self.aPlayer.moviePlayer.repeatMode=MPMovieRepeatModeOne;

Ответы [ 2 ]

1 голос
/ 20 июля 2011

Удалить эту строку

[self.aPlayer.moviePlayer setRepeatMode: MPMovieRepeatModeOne];

и поместить:

   [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(moviePlayerDidChangeState:)
                                                 name:MPMoviePlayerPlaybackStateDidChangeNotification
                                               object:self.player];

и реализовать

- (void)moviePlayerDidChangeState:(NSNotification *)note
{


    MPMoviePlaybackState playbackState = [self.player playbackState];
    if(playbackState==MPMoviePlaybackStateStopped ||playbackState==MPMoviePlaybackStatePaused || playbackState==MPMoviePlaybackStateInterrupted)
    {
        if (note.object == self.player) {
            NSInteger reason = [[note.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue];
            if (reason == MPMovieFinishReasonPlaybackEnded)
            {
                [self.player play];
            }
        }
    }
}
1 голос
/ 22 сентября 2010
mpViewController.repeatMode=MPMovieRepeatModeOne;

работал для меня, но у меня не было ни строки URL, ни самого себя.

Моя следующая строка после вышесказанного была [mpViewController play];

...