现有的思路是这样的:
1. 在本地搭建一个http服务器
2. 开始下载.mp4文件,然后把文件存放在http服务器中
3. 将video播放地址指向本地服务器,开始播放
这样可以实现渐进式下载,但存在一个问题:
1. 假设文件下载进度是 10%,我把进度条拖动到 50% 的位置,它就不能播放了
目前有一个解决方案:
1. 监听本地服务器的http请求,如果发现请求的数据未下载完成,就另外开启一个http请求去下载对应 range 的数据,然后再通过本地服务器返回
但这个方案还有一些问题:
1. 临时请求的数据无法直接合并到正在下载的 .mp4 文件中
2. 对于这些临时请求的数据,需要另外存储,并在下载完成后合并成一个完整的 mp4 文件
3. 如果用户不断地来回拖动,会产生很多临时数据,这时候的数据管理会更麻烦
可能我的想法比较片面,但找了很ios多资料都没到找更好的思路。
如果有前辈对这方面比较了解,或者有参考资料的,又或者知道去哪里找资料的,麻烦提供以下,十分感谢