2 votes

MPMoviePlayerController ne charge pas le film

Je veux lire une vidéo dans mon application iPad, en utilisant MPMoviePlayerController. Mon problème est que ce lecteur n'affiche que "Loading" et ne lit pas la vidéo. Voici le code que j'utilise :

- (void)playMovieFile:(NSString *)fileName
{
    NSString *filePath=[[NSBundle mainBundle] pathForResource:fileName ofType:@"mov"];
    NSURL *fileUrl=[NSURL fileURLWithPath:filePath];

    self.moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:fileUrl];
    [self.moviePlayer.view setFrame:self.view.frame];

    [self.view addSubview:self.moviePlayer.view];
    [self.moviePlayer prepareToPlay];
    [self.moviePlayer play];
}

J'ai également essayé d'utiliser MPMoviePlayerViewController, mais sans succès. Par ailleurs, quels types de films MPMoviePlayerController joue-t-il ? Cela peut-il être dû à la taille du film ? Il fait 263 MB.

5voto

nsgulliver Points 8019

Les formats de films pris en charge par l'iPhone sont les suivants .mov, .m4v, mp4 or 3gp .

Les technologies vidéo d'iOS prennent en charge la lecture des fichiers vidéo portant les extensions .mov, .mp4, .m4v et .3gp et utilisant les normes de compression suivantes :

Si vous jouez le film avec les extensions mentionnées ci-dessus, déclarez votre MPMoivePlayer en tant que propriété de type classe dans votre .h classe

@property(strong,nonatomic)MPMoviePlayerController *moviePlayer;

dans votre .m

NSString *filePath=[[NSBundle mainBundle] pathForResource:@"fileName" ofType:@"mov"];

NSURL *fileUrl=[NSURL fileURLWithPath:filePath];

self.moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:fileUrl];
[self.moviePlayer.view setFrame:CGRectMake(x,y,width,height)];

[self.view addSubview:self.moviePlayer.view];
[self.moviePlayer prepareToPlay];
[self.moviePlayer play];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X