【C# 处理IOS无法播放HTTP视频流】

【C# 处理IOS无法播放HTTP视频流】,第1张

C# 处理IOS无法播放视频流

最近有客户提出,拍摄的视频文件,安卓上可以正常的播放。但class="superseo">ios上无法正常播放。在网上找了很多资料,踩过一些坑,在这里记录一下。

刚开始时代码返回的视频流是在一个请求里全部返回的,而苹果的浏览器会先发一次探测请求来获取文件大小,之后再发送多次请求来分段取数据流的数据,其实这里就是一个分段下载的思想(Accept-Ranges)。有两个很重要的点就是,

第一:需要根据请求内容的不同做出不同的响应,当收到分段请求时(Http Request Headers包含"Range"参数),需要返回返回206状态码,否则返回200状态码或可以不管。

第二:contentType必须设置为video/mp4。一开始我针对mov文件返回video/mov,不行,后来改为video/mp4就可以了。注意,IOS也不支持 video/mpeg4!!!

下面是可以直接使用的代码:

       public void GetVideoFile(HttpContext context)
        {
            //WriteLog("Request.Headers:" + context.Request.Headers.ToString());
            long contentLength = 0;
            long requestSize = 0;
            long requestStart = 0, requestEnd = 0;

            string range = context.Request

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/993254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存