AVPlayer声明用于缓冲

时间:2011-09-08 14:07:07

标签: ios avplayer

我正在使用AVPlayer播放来自互联网的直播,并且需要显示播放器正在缓冲:

我正在使用NStimer:

timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(buffering) userInfo:nil repeats:YES];


-(void)buffering {

if(radiosound.rate == 1.0)
    [activityIndicator stopAnimating];

else 
    [activityIndicator startAnimating];

 }

肯定率属性无法正常显示! 知道AVPlayer是否在缓冲是否是另一个声明?

2 个答案:

答案 0 :(得分:3)

您需要查看为加载时间设置键值观察器,并使用它来确定您是否在当前播放点等待数据。

addObserver:self forKeyPath: options: context:上使用AVPlayerItem方法设置观察者,然后在observeValueForKeyPath: ofObject: change: context:回调中,您可以确定与玩家正在玩的项目中的位置相比,已加载的时间。< / p>

缓冲时,您不会看到rate变量降为零,因为这是所需的播放速率,而不是实际达到的速率。

答案 1 :(得分:0)

将NSURLConnection类与NSURLConnectionDataDelegate协议结合使用。