我是一个MPMoviePlayerController,它使用默认控件在一个小框架内播放视频。如果我按下mediaplayer控件上的“全屏”按钮,一切正常 - 视频仍在播放。 视频完成后,我想关闭全屏视图并返回到非全屏视图控制器。奇怪的MPMoviePlayerController视图旋转/动画...
我的应用程序只是风景。我已经测试了“setFullscreen”属性,以在MPMoviePlayerPlaybackDidFinishNotification被调用时切换回来,该属性起作用。但是出现了从纵向到横向的视角旋转,这是错误的。我只需要景观景观。
任何想法,为什么会发生这种情况?
self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL];
[self.moviePlayerController prepareToPlay];
[self.moviePlayerController setShouldAutoplay:YES];
self.moviePlayerController.movieSourceType = MPMovieSourceTypeFile;
self.moviePlayerController.fullscreen = NO;
self.moviePlayerController.scalingMode = MPMovieScalingModeAspectFit;
self.moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;
[self.moviePlayerController.view setFrame: someMovieFrame];
[tempImageScrollView addSubview:self.moviePlayerController.view];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackCompletePSV:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayerController];
[self.moviePlayerController play];
- (void) moviePlaybackCompletePSV:(NSNotification*) notification {
MPMoviePlayerController *mymoviePlayerController = [notification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:mymoviePlayerController];
NSLog(@"PSV moviePlaybackComplete!");
// movie fadeout transition ====================
self.moviePlayerController.view.alpha = 1;
[UIView animateWithDuration:0.3f delay:0.0 options:UIViewAnimationCurveEaseOut
animations:^{
self.moviePlayerController.view.alpha = 0;
if ([self.moviePlayerController isFullscreen]) {
NSLog(@"PSV fullscreen movieplayer deleted");
[self.moviePlayerController setFullscreen:NO animated:NO];
}
}
completion:^(BOOL finished) {
[mymoviePlayerController stop];
[mymoviePlayerController.view removeFromSuperview];
[self.moviePlayerController.view removeFromSuperview];
self.moviePlayerController = nil;
}];
}
谢谢Aaron,我只是看着父视图控制器,但viewWill/DidAppear方法中没有关于视图或大小的任何内容。我刚刚在iOS5 iPad 1上测试了应用程序。奇怪的是,在这个设备上,一切都很好 - 没有(纵向到横向)旋转。所以iOS6取决于什么?有任何想法吗? – geforce
我刚刚实现了风景旋转,仅适用于包含电影播放器的新iOS6 VC方法“supportedInterfaceOrientations”和“preferredInterfaceOrientationForPresentation”。仍然是同样的旋转问题。希望可以有人帮帮我.. – geforce