(lldb) po task.currentRequest.allHTTPHeaderFields
{
Accept = "/";
"Accept-Encoding" = identity;
"Accept-Language" = "zh-cn";
Connection = "keep-alive";
Range = "bytes=1321396-6766655";
"User-Agent" = "AppleCoreMedia/1.0.0.16B92 (iPhone; U; CPU OS 12_1 like Mac OS X; zh_cn)";
}
KTVHTTPCache 版本:1.1.7 KTVCocoaHTTPServer版本:1.0.0
我们最近遇到一个问题,播放的时候一直在loading,然后黑屏,无法播放,有时只有声音,没有画面。
最后会发生AVPlayer的AVPlayerItemStatusFailed错误,错误信息如下:
然后我跟踪上去,发现在
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error
方法中会有错误回调,打印allHTTPHeaderFields结果如下:请求的视频地址是:http://v4d.xiaoying.tv/20181129/zoXor9/3z9k4j8289.mp4 请求总内容大小是:1,176,941 字节 发生错误的请求Range:6,766,655
可以发现Range大小远远超过了原始数据大小,导致请求失败了。
此问题跟当前的缓存内容有关系,如果把本地所有缓存清楚,则第二次播放视频可以成功。
目前不是很容易复现,暂时只能提供这些信息,我将持续关注这个问题,提供更多信息。