2013-07-09 5 views
0

могли бы вы помочь мне с этим кодом, я пытаюсь играть видео, но у меня ошибка EXC_BAD_ACCESS код = 1 и несколько раз код = 2:IOS играя видео EXC_BAD_ACCESS

-(IBAction)BtnPressed:(id)sender{ 

    self.videoview.hidden = false; 
    NSString *btnTag = [NSString stringWithFormat:@"%d",[sender tag]]; 
    NSString *videofilename = [NSString stringWithFormat:@"%@%@_%@", selectedGender, btnTag, selectedVowel]; 
    //Playing video 
    NSString *filepath = [[NSBundle mainBundle] pathForResource:videofilename ofType:@"mp4"]; 
    NSLog(@"file name is %@",filepath); 
    NSURL *fileURL = [NSURL fileURLWithPath:filepath]; 
    //NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:btnTag ofType:@"mp4"]]; 
    MPMoviePlayerViewController *playercontroller = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL]; 
    [[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(moviePlayBackDidFinish:) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:playercontroller]; 

    //[self presentMoviePlayerViewControllerAnimated:playercontroller]; 
    playercontroller.moviePlayer.movieSourceType = MPMovieSourceTypeFile; 
    //playercontroller.moviePlayer.scalingMode = MPMovieScalingModeNone; 
    playercontroller.moviePlayer.controlStyle = MPMovieControlStyleNone; 
    [playercontroller.view setFrame:CGRectMake(30, 50, 150, 200)]; 
    [self.videoview addSubview:playercontroller.view]; 
    [playercontroller.moviePlayer prepareToPlay]; 
    [playercontroller.moviePlayer play]; 
    //playercontroller = nil; 

} 

- (void) moviePlayBackDidFinish:(NSNotification*)notification { 
    MPMoviePlayerController *player = [notification object]; 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self 
    name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 

    if ([player respondsToSelector:@selector(setFullscreen:animated:)]) 
    { 
     [player.view removeFromSuperview]; 
    }  
} 

В ожидании вашего Совет

+0

В какой строке вы получаете исключение? – stosha

+0

попытайтесь сделать локальный переменный playercontroller в качестве переменной экземпляра и не присоединяться с помощью addObserver. – stosha

ответ

0

Похоже, ваш MPMoviePlayerViewController не сохраняется, поэтому он, вероятно, удаляется.

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