我正在开发Apple电视应用。它是一个视频应用程序,用户从网格中选择视频并开始在AVPlayerviewController中播放,对于某些视频,它开始显示活动指示器(默认情况下)并显示搜索栏然后开始播放。对于一些需要时间加载的冗长视频,它会显示一个黑屏,这是针对用户体验的。
我已经浏览了Netflix并且已经看到,它在启动VideoPlayer页面时显示活动指示器。我甚至可以添加一个活动指示器,但不知道委托功能在哪里,我会解雇它。
有人可以告诉我添加/取消活动指示器的程序吗?
答案 0 :(得分:2)
你可以添加观察者来检查你的玩家物品的状态,当它准备好玩时,你可以删除活动指标。
[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
}
}
}