Iphone 加载新视频时隐藏MPMoviePlayerController

Iphone 加载新视频时隐藏MPMoviePlayerController,iphone,ipad,hide,mpmovieplayercontroller,uiactivityindicatorview,Iphone,Ipad,Hide,Mpmovieplayercontroller,Uiactivityindicatorview,我有一个iPad应用程序,左侧有4个按钮,对应4个不同的视频剪辑。当用户点击他们想看的视频时,它会出现在右侧。我希望它看起来像是在加载(就像是在互联网上传输)。我将UIActivityIndicator添加到黑色视频帧的中心,并有一个暂停3秒的线程。但是,包含上一个视频的播放器不会消失。它只是在上一个视频的最后一帧冻结3秒钟(隐藏活动指示器),然后新视频出现 有没有办法让玩家暂时隐藏起来?谢谢你的帮助。这是我的密码: -(IBAction) videoButton1{ [player st

我有一个iPad应用程序,左侧有4个按钮,对应4个不同的视频剪辑。当用户点击他们想看的视频时,它会出现在右侧。我希望它看起来像是在加载(就像是在互联网上传输)。我将UIActivityIndicator添加到黑色视频帧的中心,并有一个暂停3秒的线程。但是,包含上一个视频的播放器不会消失。它只是在上一个视频的最后一帧冻结3秒钟(隐藏活动指示器),然后新视频出现

有没有办法让玩家暂时隐藏起来?谢谢你的帮助。这是我的密码:

-(IBAction) videoButton1{
   [player stop];
   [player release];

   [self.activityIndicator startAnimating];

   NSString *url = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"mov"];
   [self setupVideoPlayer:url];
}

-(void) setupVideoPlayer: (NSString *) url{
   player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url)];
   player.view.frame = CGRectMake(487, 205, 478, 320);

   [self.view addSubview:player.view];

   [NSThread sleepForTimeInterval:3.0];
   self.activityIndicator stopAnimating];

   [player play];
}

您可以将播放机的帧设置为可以在IB中生成的视图,也可以通过编程方式生成视图,而不是每次都执行CGRectMake

self.player.view.frame= self.viewForMovie.bounds

self.player.view.autoresizingMask= UIViewAutoResisingFlexibleWidth| UIViewAutoResisingFlexibleHeight

然后在“videoButton1”中,可以将视图的alpha设置为0

viewForMovie.alpha=0


在“setupVideoPlayer”中,您可以将alpha值更改回1。

只是想增加这个线程。我仍然不明白为什么在释放播放器后,它仍然通过“睡眠”线程保存视频的最后一帧。甚至在播放器加载新视频后,在播放命令之前,也会调用sleep命令。任何信息都将不胜感激。谢谢回复。我对你说的话进行了讨论,现在唯一的问题是视频播放器不能在新的movieView中自动播放。控件显示正确,但我认为它没有检测到触摸。还有指针吗?我弄明白了。问题是我把电影播放器放在了一个新的线程中。现在我知道苹果有多不喜欢这样了。因此,在新线程中,我使用了[NSThread sleepforTimeInterval:3.0];//似乎正在加载。然后使用performSelectorOnMainThread方法将视频实际加载到视图中。谢谢你的信息,里卡多。你给我指明了正确的方向。