【问题标题】:MPMoviePlayerController fullscreen not workingMPMoviePlayerController 全屏不工作
【发布时间】:2012-08-12 01:24:49
【问题描述】:

我的代码可以正常播放视频,但不能全屏播放。

-----------  
|_______  |  
|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];    

【问题讨论】:

  • 显然,如果你将它添加到你的 viewControllers self.view 它会如你所说的那样显示。我已通过将您的播放器添加到临时UIView 来修复它。但这不是一个完整的答案。
  • 查看这个问题的答案stackoverflow.com/questions/4056844/…它可能对你有帮助
  • 我知道这不是最好的答案......但它有效:) 干杯。

标签: objective-c ios mpmovieplayercontroller fullscreen


【解决方案1】:

MPMoviePlayerController 的边框设置为 1024x768。

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

希望这就是您想要的。 *edit: 试试这个方法,这是我用的。

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];

【讨论】:

  • 还是一样的问题:(
  • 您删除了这一行吗? videoPlayer.view.frame = [[UIScreen mainScreen] bounds];
  • 是的...我将视频上传到 www.orangebob.com/files/movie.mp4 如果这对您有帮助...
  • 更新了我的答案,希望对你有帮助。
  • 您的代码可以工作:) 但仍然不是全屏:( 我现在底部有一个白条.. 大约 1024x300。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-08
  • 2012-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多