我有一个处理流媒体视频的应用程序。从一个 .m3u8 播放列表开始,它创建了一个 AVAssets 数组,并通过
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:[assetItems objectAtIndex:index]]]
这工作正常,但在此之前我想使用渐进式下载播放一个简短的 mp4 视频。我使用
加载 AVPlayerAVAsset *prerollAsset = [AVAsset assetWithURL:prerollURL];
[player replaceCurrentItemWithPlayerItem:[AVPlayerItem playerItemWithAsset:prerollAsset]];
它播放了,但是当我像以前一样继续流式传输视频时,我得到一个 AVPlayerStatusFailed 状态,AVPlayerItem 中的错误是 The operation could not be completed
为了使其正常工作,我需要为(渐进式下载)预播放创建一个 AVPlayer 对象,然后创建一个全新的 AVPlayer 对象来开始播放流媒体视频。
是否有可能单个 AVPlayer 实例无法播放渐进式下载视频和流式视频?还是我做错了什么?
最佳答案
此错误是一个已知问题,据称已在下一个 iOS 主要版本中修复。
在此期间,创建一个新的 AVPlayer 对象是唯一已知的解决方法。
关于ios - AVPlayer 不在渐进式下载和流式传输之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839061/