iOS lire la video avec MPMoviePlayerController

J'ai eu ce morceau de code:

theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:@"/Resources/disc.mp4"]]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play]; 

Mais je ne sais vraiment pas comment append la video à mon projet. Dans quel dossier dois-je mettre le file video? Ou dois-je faire autre chose pour l'append à mon projet?

MODIFIER:

Cela ressemble à ceci dans xcode, est-ce correct? Parce que je reçois une erreur de lecture en ce moment. Auparavant, j'ai utilisé une URL pour lire cette video et cela a très bien fonctionné, mais avec ce file localement pas 🙁

entrez la description de l'image ici

Ok votre path de faisceau semble levé, ci-dessous devrait fonctionner.

 NSBundle *bundle = [NSBundle mainBundle]; NSSsortingng *moviePath = [bundle pathForResource:@"disc" ofType:@"mp4"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play]; 

Ajouter MediaPlayer Framework

l'importer dans votre file

 #import <MediaPlayer/MediaPlayer.h> 

Créer un object de MPMoviePlayerController

 MPMoviePlayerController * moviePlayer; 

écrivez ce code là où vous voulez lire la video

 NSSsortingng *filepath = [[NSBundle mainBundle] pathForResource:@"spacetest.mp4" ofType:nil]; NSURL *fileURL = [NSURL fileURLWithPath:filepath]; moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; [self.view addSubview:moviePlayer.view]; moviePlayer.fullscreen = YES; [moviePlayer play]; 

En utilisant HTML5 comme je l'ai promis ci-dessus:

  NSSsortingng *videoTitle = @"disc.mp4"; NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]; NSSsortingng *playPath = [NSSsortingng ssortingngWithFormat:@"<center><video width=\"640\" height=\"480\" controls><source src=\"%@\" media=\"all and (max-width:1024px)\"></video></center>",videoTitle]; [webView loadHTMLSsortingng:playPath baseURL:baseURL]; 

Cela va jouer en 640×480, mais si vous êtes familier avec les balises video HTML5, vous pouvez personnaliser assez fortement.

Puisque vous utilisez MPMoviePlayerController et non UIWebView vous pouvez placer votre mp4 ou votre file dans vos ressources et XCode / iOS le finda. Assurez-vous que le directory / groupe dans lequel se trouve le file est jaune et non bleu. Vous ne voulez pas que ce soit un path relatif.

Faites simplement glisser la ressource dans votre projet. Copier les éléments dans la destination est sélectionné, la première option des dossiers est sélectionnée, et surtout, append à la cible!

Ok, essayez le code ci-dessous:

 NSBundle *bundle = [NSBundle mainBundle]; NSSsortingng *moviePath = [bundle pathForResource:@"disc" ofType:@"mp4"]; NSURL *movieURL = [[NSURL fileURLWithPath:moviePath] retain]; theMoviPlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; theMoviPlayer.controlStyle = MPMovieControlStyleFullscreen; theMoviPlayer.view.transform = CGAffineTransformConcat(theMoviPlayer.view.transform, CGAffineTransformMakeRotation(M_PI_2)); UIWindow *backgroundWindow = [[UIApplication sharedApplication] keyWindow]; [theMoviPlayer.view setFrame:backgroundWindow.frame]; [backgroundWindow addSubview:theMoviPlayer.view]; [theMoviPlayer play];