具有hls网址的AVPlayerItem无法前进/后退

问题描述

我有一个在我的avplayer中播放的hls网址,但是我无法使用[playerItem stepByCount:]方法。当我叫它时,它什么也没做。

如果我调用[playerItem canStepBackward]),它也总是返回false。播放hls流时,我还必须采用其他方式前进和后退吗?

我的设置是:

AVURLAsset *asset = [AVURLAsset URLAssetWithURL:_URL options:nil];
self.playerItem = [AVPlayerItem playerItemWithAsset:asset];
[self.player replaceCurrentItemWithPlayerItem:self.playerItem];

// later on...
 AVPlayerItem *playerItem = self.player.currentItem;
  if ([playerItem canStepBackward]) {
    if ([self isPlaying]) {
      [self.player pause];
    }
    [playerItem stepByCount:-1];
  }

当我使用mp4时,所有这些都可以完美地工作,但是使用hls canStepBackward总是返回false,如果我忽略它而只是调用[playerItem stepByCount:-1];,它什么也没做。

解决方法

如果播放器的物品不支持后退/前进,则只需使用 app的{​​{1}}方法为此目的,例如:

seek