2012-08-02 3 views
0

Voici mon dossier de mise en œuvre:Objectif C Play Video

-(IBAction)playvideo { 

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
            pathForResource:@"Intro" ofType:@"mp4"]]; 

MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] 
               initWithContentURL:url]; 

[self presentMoviePlayerViewControllerAnimated:playercontroller]; 

playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 

[playercontroller.moviePlayer play]; 

playercontroller = nil; 


} 

Et voici l'erreur étrange:

2012-08-03 01:48:40.085 Assaultive[5569:16a03] An instance 0x9b5ad50 of class AVPlayerItem was deallocated while key value observers were still registered with it. Observation info was leaked, and may even become mistakenly attached to some other object. Set a breakpoint on NSKVODeallocateBreak to stop here in the debugger. Here's the current observation info: 
<NSKeyValueObservationInfo 0x8549f10> (
<NSKeyValueObservance 0x9b5cde0: Observer: 0x9b58690, Key path: nonForcedSubtitleDisplayEnabled, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x9b5ce60> 
<NSKeyValueObservance 0x9b5cfa0: Observer: 0x9b54b90, Key path: presentationSize, Options: <New: NO, Old: NO, Prior: NO> Context: 0x0, Property: 0x9957780> 
) 

Il charge le point de vue du joueur et ferme direclty le subplayerview.

Des suggestions?

Répondre

0

Lire l'erreur. Quelque part dans votre code (ou Apple), il y a un observateur KVO qui n'est pas supprimé. Je ne pense pas que vous pouvez simplement mettre playercontroller à zéro et s'attendre à ce qu'il se conserve. Essayez de garder une référence et devenez le délégué.

+0

Je reçois l'erreur smae sans playercontroller = nil; –