ios - 在 AVPlayerViewController tvos View 中添加事件指示器

标签 ios tvos uiactivityindicatorview avplayerviewcontroller

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

我浏览了 Netflix 并看到了,它在启动 VideoPlayer 页面时会显示一个事件指示器。我什至可以添加一个事件指示器,但是不知道委托(delegate)函数在哪里,我将关闭它。

谁能告诉我添加/关闭事件指示器的程序?

最佳答案

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

[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

        }
}
}

关于ios - 在 AVPlayerViewController tvos View 中添加事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37438677/

相关文章:

ios - 在 NSMutableArray 中保留唯一对象的 id

ios - Xcode 7 在没有警告的情况下使用 jpg 文件作为启动图像

iphone - 制作自定义用户界面

firebase - 用于TVOS的Firebase Analytics

swift - 无法打开要在 YouTube tvOS 应用程序上播放的 YouTube URL

swift - 正确使用 Dispatch 在长时间任务期间显示事件指示器

ios - 为什么分步应用的 CGAffineTransform 与一次应用的行为不同?

覆盖菜单按钮时,xcode tvos应用程序退出问题

iphone - 将 UIActivityIndi​​cator 添加到 UITableView