Aijaz Ali
Aijaz Ali

Reputation: 393

MP movie controller removes when done button is clicked in iphone

I am playing video in MPmovieController it works fine but player removes when complete video is played.I want that when user pressed done button then video should stop here is the code i am using.

     NSURL*myURL=[NSURL fileURLWithPath:url];
     MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:myURL];

     [[NSNotificationCenter defaultCenter] addObserver:self
     selector:@selector(moviePlaybackComplete:)
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:moviePlayerController];

     [moviePlayerController.view setFrame:CGRectMake(0,0,320,480)];
     [self.view addSubview:moviePlayerController.view];
     [moviePlayerController play];

- (void)moviePlaybackComplete:(NSNotification *)notification
     {
    MPMoviePlayerController *moviePlayerController = [notification object];
    [[NSNotificationCenter defaultCenter] removeObserver:self                           name:MPMoviePlayerPlaybackDidFinishNotification                             object:moviePlayerController];
    [moviePlayerController.view removeFromSuperview];
    [moviePlayerController release];
       }

Upvotes: 2

Views: 830

Answers (2)

Dhaval Bhadania
Dhaval Bhadania

Reputation: 3089

Try this one:

    NSURL *fileURL=[NSURL URLWithString:[[array objectAtIndex:videoid] valueForKey:@"VideoUrl"]];
    self.mpPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
    [self presentMoviePlayerViewControllerAnimated:self.mpPlayer];
    [self.mpPlayer.moviePlayer prepareToPlay];
    self.mpPlayer.moviePlayer.shouldAutoplay=NO;
    [self.mpPlayer.moviePlayer play];



 - (void)moviePlayBackDidFinish:(NSNotification*)notification
   {
      MPMoviePlayerController *moviePlayer = [notification object];
      [[NSNotificationCenter defaultCenter] removeObserver:self
                                                name:MPMoviePlayerPlaybackDidFinishNotification
                                              object:moviePlayer];
      [moviePlayer pause];
      [self dismissMoviePlayerViewControllerAnimated];
      // [moviePlayer.view removeFromSuperview];
  }

may be it will help.

happy coding...

Upvotes: 1

Sport
Sport

Reputation: 8945

remove this line into your then it will work

[moviePlayerController.view removeFromSuperview];

Upvotes: 0

Related Questions