AVPlayer有时无法播放视频

BaS*_*Sha 6 iphone ios avplayer swift avplayeritem

AVPlayer无法播放视频

我有视频网格,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})
Run Code Online (Sandbox Code Playgroud)

但同样的视频后来播放,所以这是随机问题.对出了什么问题的任何帮助?

小智 10

搜索错误

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

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

在这个问题上,视频开始播放时出错.

如:

Domain=AVFoundationErrorDomain Code=-11850 "Operation Stopped"
Run Code Online (Sandbox Code Playgroud)

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

AVErrorServerIncorrectlyConfigured = -11850
Run Code Online (Sandbox Code Playgroud)

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

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

找到错误

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

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

会发现AVPlayerItem发送HTTP请求.

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

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

在我的情况下,当发送范围[0-1] HTTP请求时,服务器端给我200 OK响应,因此发生错误.

结果

因此,您需要让服务器工程师检测所有返回的响应.

我希望它可以帮助你.