2010-12-07 5 views
0

Ich erstelle einen benutzerdefinierten MovieController mit MPMovieController als Basis. Ich kann das Video im Vollbildmodus wechseln, indemMPMoviePlayerController reagiert nicht auf setFullscreen = NO

_[moviePlayer setFullscreen:YES animated:YES];_ 

Aufruf der gleichen Funktion aufrufen ([Movieplayer setFullscreen: NEIN animiert: YES];) den Film-Spieler wieder in den ursprünglichen Zustand zu bringen (das heißt, wenn Benutzer drücken Done-Taste) funktioniert nicht.

Als Alternative habe ich auch versucht -

a) bis MPMoviePlayerDidExitFullscreenNotification hören und moviePlayBackDidFinish Aufruf: Funktion als Folge davon.

b) meine benutzerdefinierte Benachrichtigung von innen „Done“ -Funktion diese Posting -

NSDictionary *thisDictionary = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:MPMovieFinishReasonUserExited] forKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey]; 
[[NSNotificationCenter defaultCenter] postNotificationName:MPMoviePlayerDidExitFullscreenNotification object:moviePlayer userInfo:thisDictionary]; 

Aber in all diesen Fällen die Film-Player-Ansicht kommt nicht wieder in seinen ursprünglichen Zustand zurück.

Hilfe bitte.

Danke!

Antwort

0

Sie müssen die Benachrichtigung für das Ereignis registrieren. Wenn Sie für die Vorbereitung um das Video abzuspielen, tun wie dieser

[[NSNotificationCenter defaultCenter] addObserver:self 
         selector:@selector(moviePlayBackDidFinish:) 
         name:MPMoviePlayerPlaybackDidFinishNotification 
         object:nil]; 

und in Ihrem moviePlayBackDidFinish Selektor, gehen sie wie folgt

[[UIApplication sharedApplication] setStatusBarHidden:YES]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification 
     object:nil]; 


[self dismissModalViewControllerAnimated:YES];