我正在使用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是否在缓冲是否是另一个声明?
答案 0 :(得分:3)
您需要查看为加载时间设置键值观察器,并使用它来确定您是否在当前播放点等待数据。
在addObserver:self forKeyPath: options: context:
上使用AVPlayerItem
方法设置观察者,然后在observeValueForKeyPath: ofObject: change: context:
回调中,您可以确定与玩家正在玩的项目中的位置相比,已加载的时间。< / p>
缓冲时,您不会看到rate
变量降为零,因为这是所需的播放速率,而不是实际达到的速率。
答案 1 :(得分:0)
将NSURLConnection类与NSURLConnectionDataDelegate协议结合使用。