【问题标题】:AVPlayer buffering issueAVPlayer 缓冲问题
【发布时间】:2014-09-01 09:22:17
【问题描述】:

我的应用程序中有一个 AVPlayer,它正在从流中播放视频文件,我的问题是它有时会冻结,我必须再次按下播放按钮才能恢复。对于缓冲问题,我使用了以下代码,但仍然没有成功,谁能给我一个解决方案。

在 ViewDidLoad 方法中

[mPlayer addObserver:self forKeyPath:@"playbackBufferEmpty" options:NSKeyValueObservingOptionNew context:nil];
[mPlayer addObserver:self forKeyPath:@"playbackLikelyToKeepUp" options:NSKeyValueObservingOptionNew context:nil];

在observeValueForKeyPath方法中

if (!mPlayer)
{
    return;
}

else if (object == mPlayerItem && [path isEqualToString:@"playbackBufferEmpty"])
{
    if (mPlayerItem.playbackBufferEmpty) {
        //Your code here
    }
}

else if (object == mPlayerItem && [path isEqualToString:@"playbackLikelyToKeepUp"])
{
    if (mPlayerItem.playbackLikelyToKeepUp)
    {
        //Your code here
    }
}

但是上面的 if 语句永远不会被调用。我也在使用这里演示的 AVPlayerDemo 类:https://developer.apple.com/library/ios/samplecode/AVPlayerDemo/Listings/Classes_AVPlayerDemoPlaybackViewController_m.html

【问题讨论】:

    标签: ios xcode avplayer


    【解决方案1】:

    我认为你的错误是试图在玩家而不是玩家物品上添加观察者

    你的代码应该是

    [mPlayerItem addObserver:self forKeyPath:@"playbackBufferEmpty" options:NSKeyValueObservingOptionNew context:nil];
    [mPlayerItem addObserver:self forKeyPath:@"playbackLikelyToKeepUp" options:NSKeyValueObservingOptionNew context:nil];
    

    干杯

    【讨论】:

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