Ios MPMoviePlayer-多个通知

Ios MPMoviePlayer-多个通知,ios,mpmovieplayercontroller,mpmovieplayer,Ios,Mpmovieplayercontroller,Mpmovieplayer,我试图观察播放结束通知,以便循环播放视频: @property (nonatomic, strong) MPMoviePlayerController *moviePlayer; ... self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL]; self.moviePlayer.controlStyle = MPMovieControlStyleNone; [self.moviePlaye

我试图观察播放结束通知,以便循环播放视频:

@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;

...

self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL];

self.moviePlayer.controlStyle = MPMovieControlStyleNone;
[self.moviePlayer prepareToPlay];
self.moviePlayer.shouldAutoplay = YES;

[[NSNotificationCenter defaultCenter] addObserver: self selector:@selector(moviePlayBackDidFinish:) name: MPMoviePlayerPlaybackStateDidChangeNotification
                                               object: self.moviePlayer];
- (void)moviePlayBackDidFinish:(NSNotification *)note {
    if (note.object == self.moviePlayer) {

        NSInteger reason = [[note.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue];
        if (reason == MPMovieFinishReasonPlaybackEnded) {
            NSLog(@"THIS HAPPENS FOUR TIMES every time the movie ends");
            [self.moviePlayer play];
        }
    }
}
如评论中所述,每次视频结束时,我都会收到4次此通知。球员仍然循环,但我不喜欢这样,我告诉它打4次

此外,如果我使用MPMoviePlayerPlaybackDidFinishNotification而不是MPMoviePlayerPlaybackStateDidChangeNotification,我只会收到一次通知。然而,在这种情况下,电影不会循环播放。这一切都是因为以下根本不起作用:

self.moviePlayer.repeatMode = MPMovieRepeatModeOne;

所以我的问题是,为什么每次电影结束时我都会收到4mpmoviefinishreasonlaybackend通知?还有没有更简单的方法来循环视频?

项目的iOS目标版本是什么?@danypata it is ios5+您的视频来自本地文件还是网络?不知道你的
URL
看起来怎么样,这就是我问的原因。它是本地的,在主捆绑包中。你确定你只注册了一次通知吗?确保你注册了!