【问题标题】:AVPlayer Statement for buffering用于缓冲的 AVPlayer 语句
【发布时间】:2011-09-08 14:07:06
【问题描述】:

我正在使用 AVPlayer 播放来自 Internet 的直播流,并且需要显示播放器正在缓冲的内容:

我正在使用 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];

 }

肯定 rate 属性不能正常显示! 是否知道 AVPlayer 是否正在缓冲是另一种说法?

【问题讨论】:

    标签: ios avplayer


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-03-20
        • 1970-01-01
        • 1970-01-01
        • 2013-05-18
        • 1970-01-01
        • 1970-01-01
        • 2013-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多