У меня есть сценарий, в котором я хочу, чтобы пользователь мог запустить видео с точки, которую он покинул ранее. В настоящее время я использую 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;
}