je voulais jouer une vidéo en arrière-plan de mon avis, j'ai décidé d'utiliser MPMoviePlayerController pour lire la vidéo sans fin et je fait quelque chose comme ça:ios de lecture vidéo sans fin
NSString *pathForFile = [[NSBundle mainBundle] pathForResource:@"clear" ofType:@"mp4"];
player = [[MPMoviePlayerController alloc] init];
player.shouldAutoplay = YES;
player.repeatMode = MPMovieRepeatModeNone;
player.fullscreen = YES;
player.movieSourceType = MPMovieSourceTypeFile;
player.scalingMode = MPMovieScalingModeAspectFill;
player.contentURL =[NSURL fileURLWithPath:pathForFile];
player.controlStyle = MPMovieControlStyleNone;
[player.view setFrame:self.view.bounds];
[player.view setUserInteractionEnabled:NO];
[player.view setAlpha:0.0f];
[self.view addSubview:player.view];
[self.view sendSubviewToBack:player.view];
[player prepareToPlay];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
- (void)moviePlayerDidFinish:(NSNotification *)note {
if (note.object == player) {
NSInteger reason = [[note.userInfo objectForKey:@"MPMoviePlayerPlaybackDidFinishReasonUserInfoKey"] integerValue];
if (reason == MPMovieFinishReasonPlaybackEnded) {
[player play];
}
}
Ma méthode appelée à chaque fois que les extrémités vidéo , mais le lecteur ne joue plus à la vidéo. Qu'est-ce que je fais mal?
Merci d'avance.
[player seekToTime: kCMTimeZero]; utilisez cette ligne dans if (raison == MPMovieFinishReasonPlaybackEnded) {} condition –