2013-11-20 3 views
2

Я проигрываю видео в MPmovieController, он отлично работает, но проигрыватель удаляется, когда проигрывается полное видео. Я хочу, чтобы при нажатии кнопки нажата кнопка должна прекратиться здесь, это код, который я с помощью.MP-контроллер снимает, когда нажимается кнопка, нажата на iphone

 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]; 
     } 
+0

Вы говорите ему, чтобы удалить себя из своего супервизора, когда воспроизведение закончено. Удалите эту строку, если вы не хотите, чтобы она исчезла. – rdelmar

+0

Я хочу, чтобы после воспроизведения его shoud go, но также и когда пользователь в промежутке коснулся, то он также должен удалить –

ответ

1

Попробуйте это:

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]; 
    } 

может быть, это поможет.

happy coding ...

+0

вы не получаете то, что я говорю, я хочу, чтобы после воспроизведения его shoud go, но также, когда пользователь в промежутке коснулся, тогда он также должен удалить –

+0

, да, он будет работать так же как пожелаете . –

0

удалить эту строку в ваш, то он будет работать

[moviePlayerController.view removeFromSuperview]; 
+0

@Ali сказать мне, что он работает, или нет – Sport

+0

Я хочу, чтобы после воспроизведения его shoud go, но также и когда пользователь между кранами затем он также должен удалить –

+0

removeFromSuperview, если вы хотите, чтобы пользователь нажал назад и использовал [пауза фильма]; или [moviePlayerController.view removeFromSuperview]; когда это делается – Sport

Смежные вопросы