AVPlayer 有时无法播放视频

问题描述 投票:0回答:2

AVPlayer failed to play video

我有视频网格,AVPlayer 有时无法播放视频并显示此禁用图标并出现以下错误,

Domain=AVFoundationErrorDomain Code=-11850 "Operation Stopped" UserInfo={NSUnderlyingError=0x7f927ede4210
{Error Domain=NSOSStatusErrorDomain Code=-12939 "(null)"}
, NSLocalizedFailureReason=The server is not correctly configured., NSLocalizedDescription=Operation Stopped})

但稍后会播放相同的视频,所以这是随机问题。有什么问题可以帮忙吗?

ios iphone swift avplayer avplayeritem
2个回答
20
投票

搜索错误

相信有很多人和我一样,正在寻找这个问题的解决方案。

我花了一下午的时间,终于解决了问题。

关于问题,视频开始播放时出现错误。

如:

Domain=AVFoundationErrorDomain Code=-11850 "Operation Stopped"

然后我搜索这个错误号,找到了:

AVErrorServerIncorrectlyConfigured = -11850

在Apple的文档中,我找到了有关此错误的一些信息。

发送媒体资源的HTTP服务器未按预期配置。 这可能意味着服务器不支持字节范围请求。

查找错误

所以,我们应该明白这是服务器问题。

现在,我们播放一段视频,并抓取所有http请求进行分析。

会发现AVPlayerItem发送了HTTP请求。

当 AVPlayerItem 收到视频 URL 时,它会执行以下任务:

  1. 发送字节请求HTTP请求,且范围= 0 -1
  2. 如果响应代码是206并返回1字节数据,则执行第3个任务,如果不是,则发生AVErrorServerIn CorrectlyConfigured错误。
  3. 继续发送其他HTTP请求,下载所有持续时间的片段。 VideoData代码的响应必须是206

在我的情况下,当发送 range[0-1] HTTP 请求时,服务器端给我一个 200 OK 响应,所以发生错误。

结果

所以,你需要让你的服务器工程师检测所有返回的响应。

希望对你有帮助。


0
投票

就我而言,在不中断服务器的情况下解决了问题(因为它是政府资源)。我刚刚将此文件下载到本地存储,然后播放。但看完后别忘了删除文件现金。

© www.soinside.com 2019 - 2024. All rights reserved.