У меня возникают проблемы при работе с MPMoviePlayerController - PullRequest
0 голосов
/ 22 июля 2011

У меня много проблем с MPMoviePlayerController.

Когда я переключаю видео с обычного на полноэкранный режим, появляется одна полоса. При этом есть кнопки для воспроизведения вперед / назад / паузы, но эти кнопки не работают должным образом в соответствии с моим требованием, то есть при однократном нажатии на кнопку перемотки вперед / назад она не изменяется для следующего / предыдущего видео; MPMoviePlayerController останавливается на своем щелчке ...

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

делай так

-(void)videoClick:(id)sender
{
    bi3.enabled=NO;
    videoTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    videoTable.dataSource = self;
    videoTable.delegate = self;
    videoTable.rowHeight=100;
    videoTable.separatorStyle=UITableViewCellSeparatorStyleSingleLine;
    videoTable.separatorColor=[UIColor brownColor];
    navTitleLabel.text = [NSString stringWithFormat:@"xxx"];
    [webView addSubview:videoTable];

}

-(void)videoFile:(NSString *)moviepath
{

    //[tools setHidden:YES];
//  bi3.enabled=NO;

    // Register to receive a notification when the movie scaling mode has changed. 


    //NSString *moviePath = [bundle pathForResource:@"video" ofType:@"mp4"];
    NSURL  *movieURL1 = [[NSURL fileURLWithPath:moviepath] retain];
    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL1];
    [theMovie setControlStyle:MPMovieControlStyleFullscreen];
    [theMovie play];
    MPMoviePlayerViewController *moviePlayer11 = [[MPMoviePlayerViewController alloc] initWithContentURL:movieURL1];
    [self presentMoviePlayerViewControllerAnimated:moviePlayer11];  // Override point for customization after app launch    
    // [navigationController.view addSubview:];
    //[self.view addSubview:mpMCtr.view];



}
- (void) movieFinishedCallback:(NSNotification*) aNotification {
    bi3.enabled=YES;
    [tools setHidden:NO];
    MPMoviePlayerController *player = [aNotification object];
    [[NSNotificationCenter defaultCenter] 
     removeObserver:self
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];
   // [player stop];
    //[self.view removeFromSuperview];
[player.view removeFromSuperview];

       [player autorelease];    
}

- (void) moviePlayBackDidFinish:(NSNotification*)aNotification
{

    MPMoviePlayerController* theMovie=[aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                                                    name:MPMoviePlayerPlaybackDidFinishNotification
                                                  object:theMovie];
    //[mpMCtr stop];

    [theMovie.view removeFromSuperview];
    [videoTable removeFromSuperview];

}
-(void)backview:(id)sender
{
    [mpMCtr stop];
    [mpMCtr.view removeFromSuperview];
    [videoTable removeFromSuperview];
    [self.navigationController popViewControllerAnimated:YES];
}
0 голосов
/ 22 июля 2011

попробуйте зарегистрироваться для уведомлений.

MPMoviePlaybackState
Constants describing the current playback state of the movie player.

enum {
   MPMoviePlaybackStateStopped,
   MPMoviePlaybackStatePlaying,
   MPMoviePlaybackStatePaused,
   MPMoviePlaybackStateInterrupted,
   MPMoviePlaybackStateSeekingForward,
   MPMoviePlaybackStateSeekingBackward
};
typedef NSInteger MPMoviePlaybackState;
...