我有一个应用程序处理流媒体视频。从一个.m3u8播放列表开始,它创建了一个AVAssets数组,并通过翻转它们来播放。
[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实例是否无法播放紧随其后的流媒体视频?或者还有其他我做错的地方吗?