Как воспроизвести локальное видео mp4 в iphone с сохраненного временного интервала программно - PullRequest
1 голос
/ 19 мая 2011

У меня есть сценарий, в котором я хочу, чтобы пользователь мог запустить видео с точки, которую он покинул ранее. В настоящее время я использую MPMoviePlayerController. Я могу сохранить продолжительность воспроизведения с помощью уведомлений MPMoviePlayerController.

Так что мне нужно, чтобы каждый раз, когда пользователь запускал одно и то же видео, у него была возможность запустить его с оставшейся продолжительности. Является ли это возможным? и если это так, как я могу это сделать. Должен ли я использовать MPMoviePlayerController, так как я посмотрел все методы в документации и не нашел ничего. Ниже мой текущий код для воспроизведения видео.

- (void) playDownloadedFile:(NSString*) filePath
{
    MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:filePath]];

    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(movieFinishedCallback:)
     name:MPMoviePlayerPlaybackDidFinishNotification
     object:player];

    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(movieDurationAvailableCallback:)
     name:MPMovieDurationAvailableNotification
     object:player];

    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(moviePlaybackStateDidChangeCallback:)
     name:MPMoviePlayerPlaybackStateDidChangeNotification
     object:player];

    player.view.frame = CGRectMake(50, 25, 924, 718);
    [self.view addSubview:player.view];

    //---play movie---
    [player play];
    videoState = [[VideoState alloc] init];
}

- (void) movieDurationAvailableCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *moviePlayer = [aNotification object];
    videoState.videoDuration = moviePlayer.duration;
}

- (void) moviePlaybackStateDidChangeCallback:(NSNotification*) aNotification {
    MPMoviePlayerController *moviePlayer = [aNotification object];
    videoState.playBackState = moviePlayer.playbackState;
}

1 Ответ

2 голосов
/ 19 мая 2011

MPMoviePlayerController имеет свойство под названием initialPlaybackTime. Установите его, чтобы начать с того места, где остановился зритель.

...