我的视频在IOS 8.3及更早版本中表现良好。但在最近更新的IOS 8.4 Video Player停止工作之后。视频没有播放,立即进入MPMoviePlaybackComplete:方法。
Here is my code :
self.player = [[MPMoviePlayerViewController alloc] initWithContentURL:fileURL];
[self.player.moviePlayer setFullscreen:YES animated:YES];
if(subtitlesPathStr){
[self.player.moviePlayer openSRTFileAtPath:subtitlesPathStr
completion:^(BOOL finished) {
// Activate subtitles
[self.player.moviePlayer showSubtitles];
[self.navigationController presentMoviePlayerViewControllerAnimated:self.player];
} failure:^(NSError *error) {
NSLog(@"Error: %@", error.description);
}
];
}else [self.navigationController presentMoviePlayerViewControllerAnimated:self.player];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlayerLoadStateDidChange:)
name:MPMoviePlayerLoadStateDidChangeNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlayerDidEnterFullscreenNotification:)
name:MPMoviePlayerDidEnterFullscreenNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
有人可以告诉我如何解决这个问题吗?
答案 0 :(得分:0)
根据播放时间和playableduration添加重置视频方法。
- (void)playbackDidFinish:(NSNotification*)aNotification {
MPMoviePlayerController *moviePlayer = aNotification.object;
NSNumber *reason = [aNotification.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey];
if ([reason intValue] == MPMovieFinishReasonPlaybackEnded) {
if (moviePlayer.currentPlaybackTime == moviePlayer.playableDuration) {
[moviePlayer stop];
}
}
}