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

标签 ios video streaming avplayer

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

最佳答案

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

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

关于ios - AVPlayer 不在渐进式下载和流式传输之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839061/

相关文章:

ios - 社交框架网页缩略图 iOS

java - 如何在java中使用Opencv加载视频文件

javascript - 用于视频捕获的 Chrome 或 Firefox 扩展

ios - 当应用程序在后台运行时,将通知从 Web 服务器拉取到 iOS 设备

ios - 在 Xcode 中更改项目标识和类型

android - 使用 Android 将实时视频流传输到服务器

youtube - 如何构建一个简单的视频流服务器?

javascript - m3u8 中的 htm5 视频 src 无法在 Chrome 中播放

hadoop - Flume-NG:如何使用 Flume-ng 自动读取目录中新添加的文件(Flume 代理的来源)

ios - 在应用程序终止后保留 PFUser 当前用户