2012-09-24 2 views
2

J'ai un MPMoviePlayerViewController pour lire des films en plein écran. J'ai vérifié les films qu'ils jouent bien via Quicktime. Le problème est que, en utilisant le MPMoviePlayerViewController (simulateur et périphérique), le film ne démarre pas (c'est une vidéo qui est stockée localement sur l'iPad).MPMoviePlayerController loadState ne passe pas en MPMovieLoadStatePlayable

NSString *path = [[NSBundle mainBundle]pathForResource:resource ofType:@"mov"]; 
self.mpviewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:path]]; 
[self.mpviewController.moviePlayer prepareToPlay]; 
self.mpviewController.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 
self.mpviewController.moviePlayer.controlStyle = [self presentModalViewController:self.mpviewController animated:YES]; 

NSLog(@"%d",self.mpviewController.moviePlayer.loadState); 

[self.mpviewController.moviePlayer play]; 

Une idée de ce que me manque?

tia

+1

Quel est le but de ceci: 'self.mpviewController.moviePlayer.controlStyle = [self presentModalViewController: self.mpviewController animé: OUI];' –

+0

C'est évidemment complètement non-sens. Je dois vérifier. J'espère que c'est juste une erreur de pâte de copie en le mettant dans ainsi. Merci d'avoir remarqué. Sinon - ça pourrait l'expliquer :) – HeikoG

Répondre

0
bien

, je ne sais pas ce qu'il était. Je fini par écrire un nouveau contrôleur de vue avec ce code - qui a fonctionné:

NSURL *url = [NSURL fileURLWithPath:self.urlPath]; 

self.playerController = [[MPMoviePlayerController alloc] initWithContentURL: url]; 
CGRect bounds = CGRectMake(0, 0, 1024, 748); 
self.playerController.scalingMode = MPMovieScalingModeNone; 

[self.playerController.view setFrame:bounds]; 

[self.view addSubview:self.playerController.view]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayerDidExitFullscreenCallback:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:self.playerController]; 

self.playerController.controlStyle = MPMovieControlStyleFullscreen; 
[self.playerController setFullscreen:YES animated:YES]; 
[self.playerController play]; 
Questions connexes