我在通过NSURLProtocol子类中的特殊协议方案处理视频请求时遇到了一些问题。所有其他资源(图像/文本)都得到了正确的处理,但是,当发送视频请求时,我只收到了对'canInitWithRequest‘的调用,而没有后续操作。所以,我的视频资源没有得到解决。现在,我已经环顾四周,我没有找到明确的解决方案。有些人使用嵌入式HTTP服务器,但这似乎有点过头了。有没有人知道这是一个bug,或者如果不是,为什么会有这个限制,有解决它的办法吗?
一个类似的问题:Custom NSURLProtocol class for WebView doesn't work when loading video in HTML5 document,但不幸的是没有答案。
发布于 2014-04-04 19:01:29
@Meda,我也面临着类似的问题。这里是我的发现,希望对你有用。我假设您使用NSUrlProtocol是因为您想截获视频请求。我使用的是web view,它通过HTTP请求视频。它转到NSURLProtocol并发出请求。当它接收到数据时,webView加载视频渲染插件(查看HTTP头中的mime类型)。插件需要数据作为部分HTTP响应(响应码206)。此外,该插件不使用NSURLProtocol类,而是使用其下面的网络层。所以插件发出的请求,不要通过NSURLProtocol。考虑到这一点,您的案例中可能存在两个问题。1.您正在使用的HTTP服务器可能不支持部分响应。2.无法直接访问HTTP服务器(您可以从safari或任何其他网站访问视频吗
browser on your device?) You can verify both the cases by taking network trace. use tcpdump (available on Mac) to take network trace and see what is happening there.https://stackoverflow.com/questions/21995768
复制相似问题