Objective c MPMoviePlayerViewController不';播放视频时显示不好
我正在尝试在我的应用程序上显示视频。该应用程序隐藏了iPhone的顶部面板。这名运动员似乎工作得很好。只有一个恼人的问题:当播放器播放视频时,它有时会显示顶部面板,有时会隐藏它。当它被隐藏时,视频播放器面板会被推一点(与以前的面板大小相同)。是苹果虫吗?我做错什么了吗? 这是我的密码:Objective c MPMoviePlayerViewController不';播放视频时显示不好,objective-c,video,mpmovieplayercontroller,Objective C,Video,Mpmovieplayercontroller,我正在尝试在我的应用程序上显示视频。该应用程序隐藏了iPhone的顶部面板。这名运动员似乎工作得很好。只有一个恼人的问题:当播放器播放视频时,它有时会显示顶部面板,有时会隐藏它。当它被隐藏时,视频播放器面板会被推一点(与以前的面板大小相同)。是苹果虫吗?我做错什么了吗? 这是我的密码: - (void) showFullscreenMediaWithURL: (NSURL *) mediaURL { MPMoviePlayerViewController *ctrl = [[MPMovi
- (void) showFullscreenMediaWithURL: (NSURL *) mediaURL
{
MPMoviePlayerViewController *ctrl = [[MPMoviePlayerViewController alloc] initWithContentURL: mediaURL];
[[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:ctrl.moviePlayer];
ctrl.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
ctrl.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[ctrl setWantsFullScreenLayout:YES];
[self presentMoviePlayerViewControllerAnimated:ctrl];
[ctrl release];
}
-(void) playbackDidFinish:(NSNotification*)aNotification
{
NSLog(@"Finished playback");
MPMoviePlayerController *player = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification
object:player];
[player stop];
[self dismissMoviePlayerViewControllerAnimated];
[[captureManager session] startRunning];
}如果iPhone顶部面板指的是iPhone状态栏,那么解决方案应该很简单。 在显示/解除MoviePlayServiceController激活之前,添加以下内容:
// Hide Status Bar
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
// Show Status Bar
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
更新:我能看出你的问题所在
首先,带有网络指示图标和其他信息的上栏是(除此之外没有其他信息)。您的问题似乎比MediaPlayer更与ViewController相关。换句话说,如果您试图“推”其他一些ViewController到全屏(就像播放器一样),您将遇到完全相同的问题
其次,将视图控制器加载到全屏的正确方法,或者我可以说:我首选的方法如下:
// Hide Status Bar
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
// Show Status Bar
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];
我希望这会有帮助,例如:)我已经试过了。它不起作用。我的整个应用程序不显示状态栏(当应用程序启动时它是隐藏的)。当显示视频时,我看到面板被按下,没有状态栏。当我点击第一屏时,状态栏显示出来。对不起,我还是不明白你的意思。一个iPhone模拟器的屏幕视频会很可爱。。。您可以使用内置的quicktime,我可以在这里发布图像附件吗?无论如何,这很简单:当你看到视频时,你仍然可以看到iPhone的顶部面板。有时它只是在那里,有时它不在那里,但面板的空间就在那里。我无法真正隐藏顶部面板:要么有顶部面板,要么没有空间放置面板。顺便说一下,在面板的空间上,你也可以看到视频。