2016-06-29 3 views
0

My-Code genannt:

NSURL *videoURL = [NSURL URLWithString:strVideo]; 

    playerController = [[AVPlayerViewController alloc]init]; 

    playerController.player = [AVPlayer playerWithURL:videoURL]; 


    playerController.view.frame = self.view.frame; 

    playerController.player.currentItem.forwardPlaybackEndTime = CMTimeMake(timeDuration, 1); 

    [playerController.player play]; 


    playerController.player.actionAtItemEnd = AVPlayerActionAtItemEndNone; 


    [self presentViewController:playerController animated:YES completion:nil]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(playerItemDidReachEnd:) 
               name:AVPlayerItemDidPlayToEndTimeNotification 
               object:[playerController.player currentItem]]; 


- (void)playerItemDidReachEnd:(NSNotification *)notification 
{ 

    [playerController dismissViewControllerAnimated:YES completion:nil]; 


    NSLog(@"IT REACHED THE END"); 

    } 

hier die playerItemDidReachEnd genannt wird, aber avplayercontroller nicht entlassen.AVPlayerViewController werden nicht entlassen, wenn Mitteilung

+0

Dank jigar für die Bearbeitung ..... – ragu

Antwort

0

Ich glaube, Sie unter Codezeile entfernen haben,

playerController.player.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

Es kann nicht Ihre Mitteilung Methode aufrufen. Entfernen Sie einfach den Code und versuchen Sie es.

+0

Praveen nicht entlassen .... – ragu

+0

Können Sie bitte, fügen Sie den 'AVPlayerItemDidPlayToEndTimeNotification' Mitteilung Beobachter nach dieser Zeile:' playerController = [[AVPlayerViewController alloc] init]; 'und versuchen es? – Praveenkumar

+0

Nicht funktioniert Praveen. Bitte geben Sie eine andere Lösung für diese – ragu

Verwandte Themen