2010-06-30 24 views
0

作为标题,当我使用moviePlayer播放电影时,我想知道什么时候playControllerBar会被解雇,以便我可以控制添加在moviePlayer中的视图。 有没有人知道? 告诉我,谢谢。如何知道moviePlayer的playControllerBar何时会被解雇?

+0

我在Iphone os3.2上工作,标签Iphone os3.0一定是个错误,我真的很想知道它是如何在Iphone os3.2上工作的。 playControllerBar是我的意思是酒吧有暂停,播放,前进,后退和回放速率栏。 – ben 2010-07-02 01:34:03

+0

MPMovieControlStyleFullscreen – ben 2010-07-02 01:43:01

回答

1

如果我理解正确,我不是100%确定。 我假设你想要做的是:

  1. 播放电影
  2. 添加上(运行)电影的顶部自定义视图(叠加)。

假设我刚才写下,我认为你必须考虑以下几点:

  1. 增加对MPMoviePlayerViewController顶部自定义背景画面是(就我而言)只允许/可能的,如果标准的播放器控制设置为none:

    [moviePlayerViewController.moviePlayer setControlStyle:MPMovieControlStyleNone]; 
    
  2. 添加自定义覆盖在播放器上基本相同addSubview程序上的任何其他六EW

    [moviePlayerViewController.view addSubview:overlay]; 
    

上面的代码/概念将工作在3.2和更高版本,因为我刚刚看了现在你明明开发3.0

而不是删除我的答案的第一部分我现在将解释如何在3.0上实现相同效果3.0

在3.0上它有点棘手(正如您现在确定知道的那样)。 MPMoviePlayerController不是视图控制器,仅适用于全屏模式。 电影开始播放后,keyWindow更改为!所以我们利用通过实施以下几点:

1)你的类,它封装了的MPMoviePlayerController内,开始做听UIWindowDidBecomeKeyNotification如下:

 [[NSNotificationCenter defaultCenter] addObserver: self 
              selector: @selector(keyWindowChanged:) 
               name: UIWindowDidBecomeKeyNotification 
               object: nil]; 

2)withing您keyWindowChanged:方法,你可以添加您的覆盖,下面snipplet是究竟如何,我实现它:再次

- (void)keyWindowChanged: (id) sender { 

//NSLog(@"keyWindowChanged"); 
[[NSNotificationCenter defaultCenter] removeObserver: self name: UIWindowDidBecomeKeyNotification object: nil]; 
UIWindow *moviePlayerWindow = [[UIApplication sharedApplication] keyWindow]; 

[moviePlayerWindow addSubview: overlayController.view]; 
[overlayController performSelector:@selector(fadeIn)]; 

} 

,这只能如果MovieControllMode“隐藏”通过这样做:

[newMPController setMovieControlMode: MPMovieControlModeHidden]; 

我希望我能帮上忙。

+0

它真的帮了我很多,这对你很好,谢谢你,好人〜 – ben 2010-06-30 07:51:34