在 AVPlayerViewController tvos 视图中添加 Activity Indicator

Adding Activity Indicator in view of AVPlayerViewController tvos

我正在开发 Apple TV 应用程序。它是一个视频应用程序,用户从网格中选择视频并开始在 AVPlayerviewController 中播放,对于某些视频,它开始显示 activity 指示器(默认情况下)并显示搜索栏,然后开始播放。对于一些需要时间加载的冗长视频,它会显示一个不利于用户体验的黑屏。

我浏览过 Netflix 并看到它在启动 VideoPlayer 页面时显示 Activity 指示器。我什至可以添加一个 activity 指标,但是不知道委托函数在哪里,我会忽略它。

谁能告诉我 add/dismiss activity 指标的程序?

您可以添加观察者来检查您的播放器项目的状态,当它准备好播放时,您可以删除 activity 指示器。

[playerItem addObserver:self
                      forKeyPath:kStatusKey
                         options:NSKeyValueObservingOptionInitial | NSKeyValueObservingOptionNew
                         context:AVPlayerStatusObservationContext];


- (void)observeValueForKeyPath:(NSString*) path
                      ofObject:(id)object
                        change:(NSDictionary*)change
                       context:(void*)context
{
    if (context == AVPlayerStatusObservationContext)
    {
        AVPlayerStatus status = [[change objectForKey:NSKeyValueChangeNewKey] integerValue];
        if (status == AVPlayerStatusReadyToPlay) {
            // remove activity indicator and play video

        }
}
}