J'essaie d'afficher une vidéo en utilisant MPMoviePlayerController, mais je n'arrive pas à la faire fonctionner. Ma vidéo est sur mon serveur. Donc, j'essaie de l'afficher de cette façon:MPMoviePlayerController ne charge pas ma vidéo
-(void) playMovieAtURL: (NSURL*) theURL {
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theURL];
moviePlayer.view.frame = self.view.bounds;
moviePlayer.controlStyle = MPMovieControlModeDefault;
moviePlayer.movieSourceType = MPMovieSourceTypeFile;
moviePlayer.fullscreen = YES;
[self.view addSubview:moviePlayer.view];
[moviePlayer prepareToPlay];
[moviePlayer play];
}
moviePlayer est une propriété de mon viewController. L'URL donnée est correcte (testée en safari). Ma vidéo est une vidéo .mov.
Lorsque ma fonction est appelée, j'ai juste un écran noir. Les contrôles n'apparaissent pas, et je pense que la vidéo ne se charge pas car dans la barre d'état de l'application, l'indicateur d'activité réseau ne s'affiche pas.
Toute aide est la bienvenue.
EDIT
Je viens de remarquer que d'essayer d'atteindre la vidéo à partir du résultat de l'application Safari de l'appareil ceci:
EDIT 2
Ma vidéo est de 480 × 850, et MPMoviePlayerController prend uniquement en charge la vidéo jusqu'à 640 x 480. Il ne peut donc pas être lu avec ce cadre. Dois-je redimensionner ma vidéo ou y a-t-il d'autres cadres que je peux utiliser pour l'afficher? Je juste besoin d'un joueur très simple ...
Merci pour votre réponse. Maintenant, les contrôles sont affichés. Mais je reçois un chargement infini ... Ma vidéo n'est jamais jouée, et je n'ai toujours aucun indicateur d'activité dans la barre d'état – zbMax
ajouté la fonction de lecture et bringSubViewToFront. – lakesh
J'ai ajouté cela dans playMovieAtURL, mais ça ne change rien. La vue MPMoviePlayerController est affichée et les contrôleurs aussi (preview, play, next) mais dans la barre d'outils supérieure, près du bouton "done", est écrit @ "Loading ..." avec un indicateur d'activité. Je manque un cadre? un protocole de délégué? En passant, est-il normal que 'moviePlayBackDidFinish:' soit appelé juste après l'affichage de la vue de MPMoviePlayerController? – zbMax