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