Wie man MPMoviePlayerViewControllers automatische Kündigung auf moviePlaybackDidFinish stoppt?

7

Ein MPMoviePlayerViewController, der modal über presentMoviePlayerViewControllerAnimated: präsentiert wird, wird automatisch beendet, wenn der Inhalt beendet ist.

Ich habe versucht, dies zu deaktivieren, da ich danach noch andere Inhalte abspielen möchte. Aber selbst wenn ich mich mit [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:playerVC.moviePlayer]; im NSNotificationCenter anmelde und einen anderen Inhalt einstelle, wird dieser trotzdem abgewiesen.

Wie kann ich verhindern, dass MPMoviePlayerViewController sich automatisch selbst abmeldet?

UPDATE:

Zur Klarstellung: Diese Frage bezieht sich nur auf das Entfernen der automatischen Entlassung und nicht auf die Deaktivierung der Schaltfläche "Fertig". Die ausgewählte Antwort spiegelt wider. Dies ist beabsichtigt, da wir davon ausgehen, dass der Entwickler seine eigenen Mittel zum Verwerfen des MPMoviePlayerViewControllers hinzufügt. Die Antwort von @bickster behandelt jedoch auch die Schaltfläche "done".

    
SpacyRicochet 16.11.2012, 16:30
quelle

4 Antworten

20

Dank diesem Blog-Artikel habe ich herausgefunden, dass MPMoviePlayerViewController Registriert sich automatisch beim Erstellen des NSNotificationCenters. Sie müssen zuerst diese Registrierung entfernen und es wird aufhören, sich automatisch zu verwerfen.

%Vor%     
SpacyRicochet 16.11.2012, 16:30
quelle
20

Sie können diesen Code verwenden, um zu verhindern, dass der Viewcontroller das Ereignis automatisch ablehnt und erfasst, wenn der Benutzer auf die Schaltfläche "Fertig" klickt, damit Sie den Viewcontroller selbst löschen können.

Schritt 1. - Zuweisen eines MPMoviePlayerViewController

%Vor%

Schritt 2. - Entfernen Sie den standardmäßigen MPMoviePlayerPlaybackDidFinishNotification-Beobachter und fügen Sie Ihren eigenen

hinzu %Vor%

Schritt 3. - Present viewcontroler

%Vor%

Schritt 4. - Fügen Sie videoFinish: method

hinzu %Vor%     
bickster 25.10.2013 18:02
quelle
2

Sie können so etwas versuchen.

Wenn der mpmovieplayercontroller die Wiedergabe eines Videos beendet hat und Sie die Benachrichtigung in Ihrer Methode movieFinishedCallback: implemect

erhalten %Vor%

Hoffe, das hilft

    
Jasmeet Singh 16.11.2012 17:25
quelle
0

Da die Schaltfläche "Fertig" nicht mehr funktioniert, wenn ich MPMoviePlayerPlaybackDidFinishNotification von NSNotificationCenter entferne, ändere ich den Wiederholungsmodus in MPMovieRepeatModeOne . Dann funktioniert alles gut außer das Video wird wiederholt.

%Vor%     
Min Soe 31.03.2014 09:35
quelle

Tags und Links