我正在开发 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/