6

我有一个处理流媒体视频的应用程序。从 .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 实例是否可能无法播放渐进式下载视频和流式视频?还是我做错了什么?

4

1 回答 1

2

此错误是一个已知问题,据称已在 iOS 的下一个主要版本中修复。

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

于 2012-07-03T19:54:06.573 回答