Comment arrêter MPMoviePlayerViewController automatique de la rejeter sur moviePlaybackDidFinish?
Un MPMoviePlayerViewController qui est présenté sous forme modale par presentMoviePlayerViewControllerAnimated:
automatiquement rejette lui-même quand il est contenu la fin de la lecture.
J'ai essayé de le désactiver, car je veux jouer à d'autres contenus par la suite. Cependant, même si je m'inscris à la NSNotificationCenter avec [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:playerVC.moviePlayer];
et de définir un autre type de contenu, il est toujours en écarte.
Comment puis-je arrêter MPMoviePlayerViewController de faire disparaître automatiquement lui-même?
Mise à JOUR:
Que d'une clarification, cette question est seulement sur la suppression automatique de licenciement et non pas sur la façon de traiter avec les personnes handicapées bouton "terminer". La réponse choisie reflète. C'est par la conception, puisque nous supposons que le développeur ajoute leurs propres moyens de rejet de l'MPMoviePlayerViewController. Cependant, @bickster's réponse traite avec le bouton "terminer".
OriginalL'auteur SpacyRicochet | 2012-11-16
Vous devez vous connecter pour publier un commentaire.
Grâce à cet article de blog j'ai compris que MPMoviePlayerViewController s'inscrit automatiquement à la NSNotificationCenter lors de la création. Vous devez d'abord supprimer cette inscription et cesse de rejeter automatiquement.
La question est simplement sur le licenciement automatique, en supposant que le développeur va installer une certaine façon de renvoyer le lecteur lui-même. Cependant, @bickster's réponse ci-dessous devrait vous donner plus de kilométrage. Il avait le même problème.
OriginalL'auteur SpacyRicochet
Vous pouvez utiliser ce code pour arrêter le viewcontroller de la disparition automatique et de capture de l'événement lorsque l'utilisateur clique sur le bouton "Terminé" de sorte que vous pouvez faire disparaître le viewcontroller vous-même.
L'étape 1. - alloc un MPMoviePlayerViewController
L'étape 2. - Supprimer la valeur par défaut MPMoviePlayerPlaybackDidFinishNotification observateur et ajouter votre propre
L'étape 3. - Présenter viewcontroler
L'étape 4. - Ajouter videoFinish: méthode
Il n'est pas près de le dupliquer. La réponse n'a pas de travail pour moi. La réponse que j'ai fournie fonctionne et qui est la plus complète. Quelque chose doit avoir changé depuis que cette question a été répondu. J'espère que ma réponse va sauver des gens, les heures que j'ai passé à essayer de comprendre comment elle fonctionne aujourd'hui. J'espère que ma réponse satisfait votre curiosité.
C'est juste que la question réelle est juste sur le retrait de la réelle de licenciement, ce qui est répondu dans la première ligne de code de votre étape 2. Je ne comprends pas vraiment ce que le reste, au-delà de l'ajout de la même fonctionnalité que vous essayez d'enlever.
C'est une meilleure réponse, car si vous ne le faites pas (au moins dans iOS 7), alors il n'y a aucun moyen pour l'utilisateur de rejeter le contrôleur. Avec cette approche, vous obtenez "ce que vous voulez" en ce que le contrôleur s'affiche et puis reste jusqu'à ce que l'utilisateur indique explicitement qu'il s'en aille. Si ce n'est pas ce que vous voulez, eh bien, alors il ne faut pas faire de cette façon 🙂
C'est le droit de réponse - la réalisation de la vidéo de rester sur l'écran JUSQU'à ce que le consentement explicite de l'utilisateur appuie sur "Done". La seule chose que j'aimerais, @bickster, c'est que vous corriger la dernière ligne dans le 2ème extrait - il vous manque un " objet:nil];" je pense 🙂
OriginalL'auteur bickster
Vous pouvez essayer quelque chose comme cela.
lorsque le mpmovieplayercontroller la fin de la lecture d'une vidéo et que vous recevez la notification dans votre méthode movieFinishedCallback: implemect
Espère que cette aide
Jamais l'esprit. Gud Chance.
OriginalL'auteur Jasmeet Singh
Depuis le bouton "Terminé" ne fonctionne plus si je supprime
MPMoviePlayerPlaybackDidFinishNotification
deNSNotificationCenter
, je change le mode de répétition pourMPMovieRepeatModeOne
.Ensuite, tout fonctionne bien sauf la vidéo est répété.
OriginalL'auteur Min Soe