首页 文章

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

提问于
浏览
6

我有一个处理流媒体视频的应用程序 . 从.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 回答

  • 2

    这个bug是一个已知问题,据称已在iOS的下一个主要版本中修复 .

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

相关问题