2010-12-13 34 views
0

Dans mon application iPhone, j'utilise MPMoviePlayerController pour lire un film. Je cache toutes les commandes visibles par défaut sur le lecteur de film. Mais j'ai placé un bouton "Replay" sur le contrôle du lecteur.iPhone comment arrêter MPMoviePlayerController se ferme à la fin?

À la fin du film, le lecteur est en cours de suppression. Mais je veux m'arrêter à la dernière image, de sorte que lorsque je clique sur le bouton "Rejouer", il commencera au début. J'ai écrit la fonctionnalité pour replay et son bon fonctionnement. Lorsque le film est en cours de lecture et que vous cliquez sur "Replay", le redémarrage de la vidéo commence.

Le problème auquel je suis confronté est que, à la fin du film, il devient blanc écran et en appuyant sur le bouton "Replay" ne redémarre pas le film. Comment gérer cette situation?

Répondre

0

Il n'est pas nécessaire de créer une nouvelle instance. J'ai trouvé la solution. Ne libérez pas seulement l'instance du joueur. Lorsque vous cliquez sur le bouton de lecture (au milieu de la vidéo ou après l'avoir terminé), arrêtez-le, déplacez l'emplacement au début et jouez-le. C'est ça .. pas de retenue, pas de libération de rien ... C'est jusqu'au programmeur/développeur quand libérer le lecteur et le retirer de la vue.

-1

Je n'ai jamais utilisé MPMoviePlayerController mais peut-être que son instance est libérée à la fin du film. Dans ce cas, incrémenter le retainounter et le relâcher manuellement résoudrait le problème.

+0

Il pourrait être un travail autour et pas la solution exacte. Il doit y avoir une solution parfaite pour cela. – Satyam

+0

Pourquoi cela devrait-il être un problème? l'incrémentation des compteurs de rétention est un moyen approuvé par les directives Apple pour gérer les instances d'objets que vous souhaitez utiliser ultérieurement. Mais btw: Je suis tombé juste sur ceci: http://stackoverflow.com/questions/2870537/how-to-keep-mpmovieplayercontroller-open-after-movie-ended semble que l'incrémentation du compteur de retenue n'aiderait pas non plus. Pourquoi ne pas simplement créer une nouvelle instance dans vous -replay? – Amandir