2009-04-21 5 views
2

Ich habe diese Frage vorher gepostet, bekomme aber keine Antwort, also poste ich sie noch einmal. Es geht um den MoviePlayer Beispieldownload von der iPhone Developer Site, wenn ich die Done Taste drücke, kommt der Movie Player Kontrollmodus Der Film wurde beendet und die Hauptansicht verlassen, gleichzeitig wurde die moviePlayBackDidFinish-Funktion aufgerufen. Wenn ich den Film jedoch erneut abspiele, blinkt der Player-Bildschirm weiter. Wie kann ich das verhindern?Beispielcode MoviePlayer Problem

Der Code, den ich keine Änderung vorgenommen habe, ist vollständig aus dem Beispielcode von Apple Website heruntergeladen, habe jemand dieses Problem vor und lösen es?

Antwort

2

Dieses Problem tritt nur im Simulator nicht auf dem tatsächlichen Gerät auf. Wenn Sie dies entfernen möchten, müssen Sie den MoviePlayer freigeben und bei jedem Abspielen eines Films einen neuen zuweisen. Z.B .:

- (void) moviePlayBackDidFinish:(NSNotification*)notification 
{ 
    // remove observer 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self 
    name:MPMoviePlayerPlaybackDidFinishNotification 
    object:thePlayer]; 

    [thePlayer release]; 
} 

und

thePlayer = [[MPMoviePlayerController alloc] initWithContentURL:theMovie]; 

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

[thePlayer play]; 

anderswo.