Je développe une application iPad où je joue les vidéos stockées dans l'application elle-même. Je représente la liste des vidéos dans une vue de table. Lorsque je sélectionne une ligne, la vidéo correspondant à cette ligne est lue. Mais en effectuant ceci, parfois l'écran devient noir, aucune vidéo n'est visible mais seulement l'audio joue.Mpmovieplayercontroller dans iPad - Pas de vidéo seulement audio
Je suis conscient que la lecture de la vidéo en mode plein écran ou l'utilisation de MPMoviePlayerViewController élimine ce problème. Mais mon exigence est que je ne veux pas jouer le film en plein écran au départ. Veuillez me guider sur la façon dont cela peut être réalisé.
-(void)playMovie {
MPMoviePlayerController *movieController = [[MPMoviePlayerController alloc] initWithContentURL:movieUrl];
self.moviePalyer = movieController;
[movieController release];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePalyerDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object: self.moviePalyer];
self.moviePalyer.view.frame = CGRectMake(240, 0, 561, 313);
self.moviePalyer.view.backgroundColor = [UIColor clearColor];
[self.moviePalyer prepareToPlay];
[self.view addSubview: self.moviePalyer.view];
[self.moviePalyer play];
}
-(void)moviePalyerDidFinish:(NSNotification*)notification
{
[moviePalyer.view removeFromSuperview];
[moviePalyer stop];
moviePalyer.initialPlaybackTime = -1.0;
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:moviePalyer];
[moviePalyer release];
moviePalyer = nil;
}
NOTE: C'est sur simulateur ipad
Comment déclarez-vous la propriété moviePlayer dans votre en-tête? – executor21
MPMoviePlayerController * moviePlayer; @property (nonatomic, retain) MPMoviePlayerController * moviePlayer; – samben