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];