2

我需要使用 MPMoviePlayerController 在我的 UIViewcontroller 中播放视频。因此,在播放视频之前,我需要在视频缓冲之前显示一个活动指示器视图。视频开始播放后,我需要删除活动指示器。我不知道如何在视频开始播放后立即收到通知。对此的任何建议都会有很大帮助。谢谢。

4

2 回答 2

5

您可能正在寻找这样的东西:

- (void)viewDidAppear:(BOOL)animated {
    NSLog(@"VIEW DID LOAD");
    // Register to receive a notification that the movie is now in memory and ready to play
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(movieLoadStateDidChange:)
                                                 name:MPMoviePlayerLoadStateDidChangeNotification
                                               object:nil];

}

-(void)movieLoadStateDidChange:(id)sender{
    NSLog(@"STATE CHANGED");
    if(MPMovieLoadStatePlaythroughOK ) {
        NSLog(@"State is Playable OK");
        NSLog(@"Enough data has been buffered for playback to continue uninterrupted..");
        aiv.hidden = YES;
        [aiv stopAnimating];
    }

}

我还发现从这个链接也可以帮助你:http ://www.sdkboy.com/?p=48

于 2012-06-12T14:49:36.760 回答
1

if(MPMovieLoadStatePlaythroughOK) { - 此检查不正确。它总是正确的。

看一看: UIActivityIndi​​cator 可以在全屏模式下显示在 MPMoviePlayerController 上吗?

于 2013-06-29T13:32:09.933 回答