3

我有带有嵌入式 http 服务器的应用程序(使用这个),我需要在 UIWebVIew 中显示 html5 视频,我的服务器返回视频文件和一些标题(内容类型、内容长度、内容范围等),但它没有播放. 需要什么来解决这个问题?

附加信息:用于音频标签播放的音频文件,我通过使用 NSURLConnection 获取它并查看返回和原始文件的 headers\responce +md5 总和并通过注入并检查 XMLHttpRequest() 结果在视频标签附近的 javascript 来检查视频是否也能很好地返回插入(它添加了 js,而不是静态 html),如果我不在服务器内部使用,html/js 代码也可以正常工作并播放视频

4

2 回答 2

1

结果 - NSURLProtocol 也没有帮助我。我在这个问题找到了解决方案(使用cocoaHttpServer代替当前)在 iOS 7 中飞行模式开启时

于 2013-12-02T07:51:20.817 回答
1

好问题!

我怀疑你的问题出在这行代码上,它位于HTTPConnection -performDefaultRequestHandling:

NSData *data = [NSData dataWithContentsOfURL:url];

这行代码一次性将文件的全部内容读入内存。如果文件大小大于您拥有的内存量,您的应用程序将被终止。根据您的问题,我不怀疑是这种情况,但这也有其他不良结果。

大多数流式 HTML 查看器将使用某种范围标题来支持在视频中跳转。由于服务器不尊重该标头,因此客户端无法从其请求中获取预期的数据。这可能会导致视频播放器将流报告为损坏。

于 2013-10-25T13:54:31.637 回答