NSURLProtocol对视频请求失败



我在通过NSURLProtocol子类中的特殊协议方案处理视频请求时遇到了一些问题。其他所有资源(图像/文本)都得到了正确的处理,然而,当发送视频请求时,我只收到一个"canInitWithRequest"的调用,没有后续处理。所以,我的视频资源没有得到解决。现在,我环顾四周,没有找到确切的解决方案。有些人使用嵌入式HTTP服务器,但这似乎有些过头了。有人知道这是一个错误吗?如果不是,为什么会有这个限制,有解决方法吗?

类似的问题:WebView的自定义NSURLProtocol类没有';在HTML5文档中加载视频时不起作用,但不幸的是没有答案。

@Meda,我也面临着类似的问题。以下是我的发现,希望对你有用。我假设您使用NSUrlProtocol是因为您想要拦截视频请求。我使用的是web视图,它通过HTTP请求视频。它进入NSURLProtocol并提出请求。当它接收到数据时,webView加载视频渲染插件(查看HTTP标头中的mime类型)。插件需要数据作为部分HTTP响应(响应代码206)。此外,该插件不使用NSURLProtocol类,而是使用其下面的网络层。因此,插件发出的请求,不要通过NSURLProtocol。考虑到这一点,你的情况可能有两个问题。1.您正在使用的HTTP服务器可能不支持部分响应。2.无法直接访问HTTP服务器(您可以从safari或设备上的任何其他
浏览器访问视频吗?)您可以通过网络跟踪来验证这两种情况。使用tcpdump(在Mac上可用)进行网络跟踪,并查看那里发生了什么。

最新更新