我有一个处理流媒体视频的应用程序 . 从.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实例无法播放渐进式下载视频,然后是流式视频?或者可能还有别的我做错了?
1 回答
这个bug是一个已知问题,据称已在iOS的下一个主要版本中修复 .
在此期间,创建新的AVPlayer对象是唯一已知的解决方法 .