我有一个处理流媒体视频的应用程序。从 .m3u8 播放列表开始,它创建一个 AVAsset 数组,并通过
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]]
这很好用,但在此之前我想使用渐进式下载播放一段简短的 mp4 视频。我使用加载 AVPlayer
AVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL];
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]];
它可以播放,但是当我像以前一样继续播放流视频时,我得到了 AVPlayerStatusFailed 的状态,并且 AVPlayerItem 中的错误是The operation could not be completed
为了让它工作,我需要为(渐进式下载)预卷创建一个 AVPlayer 对象,然后创建一个全新的 AVPlayer 对象来开始播放流视频。
单个 AVPlayer 实例是否可能无法播放渐进式下载视频和流式视频?还是我做错了什么?