Звук воспроизводится, но видео зависает AVPlayer на медленном интернете - PullRequest
2 голосов
/ 15 марта 2020

Я загружаю AVAsset асинхронно с помощью этого метода:

playerAsset.loadValuesAsynchronously(forKeys: ["duration", "playable", "hasProtectedContent"]) {
  DispatchQueue.main.async {[weak self] in

    guard let strongSelf = self else { return }

    let playerItem = AVPlayerItem(asset: playerAsset)
    self.player?.replaceCurrentItem(with: playerItem)
  }
}

При медленном inte rnet мой ресурс иногда воспроизводит аудио полностью, но останавливается на определенном видеокадре или воспроизводит видео без аудио. При поиске назад к началу видео воспроизводится правильно.

У меня есть наблюдатели КВО для playbackBufferEmpty и playbackLikelyToKeepUp, но они не вызваны в этой ситуации.

...