MPMoviePlayerViewController repeatMode не работает?

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

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

2 ответа

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

[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];
            }
        }
    }
}
mpViewController.repeatMode=MPMovieRepeatModeOne;

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

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

Другие вопросы по тегам