2012-08-15 82 views
1

我的代码正确播放视频,但不是全屏显示。MPMoviePlayerController全屏不工作

----------- 
|_______ | 
|XXXXXXX| | 
|XXXXXXX| |  
----------- 

它的大小约为X字段的大小。
我在ipad2上运行这个。

NSString *urlStr = [[NSBundle mainBundle] pathForResource:@"movie.mp4" ofType:nil]; 
    NSURL *url = [NSURL fileURLWithPath:urlStr]; 
    videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(movieFinishedCallback:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:videoPlayer]; 
    [self.view addSubview:videoPlayer.view]; 
    [videoPlayer setFullscreen:YES]; 
    videoPlayer.view.frame = [[UIScreen mainScreen] bounds]; 
    [videoPlayer play];  
    [super viewDidLoad];  
+0

显然,如果你将它添加到你的viewControllers'self.view',它就会像你提到的那样显示。我已经通过将你的播放器添加到一个临时的'UIView'来修复它。但这不是一个完整的答案。 – ohr 2012-08-15 18:27:39

+0

检查这个问题的答案http://stackoverflow.com/questions/4056844/mpmovieplayercontroller-vs-mpmovieplayerviewcontroller/5834370#5834370它可能会帮助你 – 2012-08-15 18:42:06

+0

我知道它不是最好的答案... 但它工作:)干杯。 – 2012-08-15 18:58:06

回答

2

MPMoviePlayerController的帧设置为1024x768。

videoPlayer.view.frame = CGRectMake(0,0,1024,768); //748 if you have status bar. 

希望这就是你要找的。 *编辑:尝试这种方式,这是我使用的。

UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)]; 
[self.view addSubview:tempView]; 

playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:@"www.orangebob.com/files/movie.mp4"]]; 

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

playerViewController.view.frame = CGRectMake(0, 0, 1024, 768); 
[tempView addSubview:playerViewController.view]; //This *fixes* it, but it's kinda dirty. 



MPMoviePlayerController *player = [playerViewController moviePlayer]; 

[player play]; 
+0

还有同样的问题:( – 2012-08-15 18:06:28

+0

你有没有删除这行?'videoPlayer.view.frame = [[UIScreen mainScreen]界限];' – ohr 2012-08-15 18:07:26

+0

是的......我将视频上传到www.orangebob.com/files/movie .mp4如果这将帮助你... – 2012-08-15 18:09:55