AVPlayer不在渐进式下载和流式传输之间切换

coc*_*oco 6 video streaming ios avplayer

我有一个处理流媒体视频的应用程序.从.m3u8播放列表开始,它会创建一个AVAssets数组,并通过它们翻转

[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]]
Run Code Online (Sandbox Code Playgroud)

这很好,但在此之前,我想用渐进式下载播放短的mp4视频.我使用加载AVPlayer

AVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL];
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]];
Run Code Online (Sandbox Code Playgroud)

它播放,但当我像以前一样继续播放流视频时,我得到AVPlayerStatusFailed的状态,AVPlayerItem中的错误 The operation could not be completed

为了它的工作,我需要为(渐进式下载)预卷创建一个AVPlayer对象,然后创建一个全新的AVPlayer对象来开始播放流式视频.

是否有可能单个AVPlayer实例无法播放渐进式下载视频,然后是流式视频?或者可能还有别的我做错了?

小智 2

此错误是一个已知问题,据称已在 iOS 的下一个主要版本中修复。

在此期间,创建一个新的 AVPlayer 对象是唯一已知的解决方法。