使用ASP.NET流视频
发布时间:2020-12-16 06:43:42 所属栏目:asp.Net 来源:网络整理
导读:有没有一种方法可以将视频通过asp.net流式传输到普通网页和移动设备?我尝试了以下但是它在我的索尼爱立信K810i中不起作用.当我在浏览器中尝试它时,我可以看到剪辑(不知道它是否正在流式传输). HTML: object type="video/3gpp" data="handlers/FileHandler.
有没有一种方法可以将视频通过asp.net流式传输到普通网页和移动设备?我尝试了以下但是它在我的索尼爱立信K810i中不起作用.当我在浏览器中尝试它时,我可以看到剪辑(不知道它是否正在流式传输).
HTML: <object type="video/3gpp" data="handlers/FileHandler.ashx" id="player" width="176" height="148" autoplay="true"></object> FileHandler.ashx(Best way to stream files in ASP.NET): public void ProcessRequest (HttpContext context) { string path = "~/files/do.3gp"; string localPath = context.Server.MapPath(path); if (!File.Exists(localPath)) { return; } // get info about contenttype etc FileInfo fileInfo = new FileInfo(localPath); int len = (int)fileInfo.Length; context.Response.AppendHeader("content-length",len.ToString()); context.Response.ContentType = FileHelper.GetMimeType(fileInfo.Name); // returns video/3gpp // stream file byte[] buffer = new byte[1 << 16]; // 64kb int bytesRead = 0; using(var file = File.Open(localPath,FileMode.Open)) { while((bytesRead = file.Read(buffer,buffer.Length)) != 0) { context.Response.OutputStream.Write(buffer,bytesRead); } } // finish context.Response.Flush(); context.Response.Close(); context.Response.End(); } 解决方法
你得到的不是“技术上”流媒体.这是一个文件下载.您的客户端(浏览器/电话)发送了HTTP请求,您的FileHandler.ashx打开了文件并将字节写入响应流.对于网页请求,这是完全相同的交互,除了数据是html文本而不是表示视频的二进制数据.
如果手机不支持视频,则可能是不兼容的编码.如果您确定该视频可通过手机播放,请查看手机是否需要渐进式下载支持(如iPhone / iPad / iPod Touch要求媒体播放器“流式传输”视频.)如果是这样,您将会需要查看可用于处理字节范围数据请求的许多解决方案中的任何一个,并使用指定范围内的文件中的字节来响应请求. 我写了一个library for ASP.NET MVC来处理这个问题,我的工作主要基于这个guidance and source code完成. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – Spark View Engine的性能与ASP.NET相比如何
- asp.net-mvc – 如何在WEB API 2中创建异步验证属性
- ASP.NET Core 中基于策略的授权
- asp.net – ClientScriptManager.GetPostBackEventReferenc
- asp.net-mvc – 将参数传递给telerik asp.net mvc grid
- ASP.NET – 在按钮单击时将参数传递给服务器
- asp.net – 拥有专用应用程序池,将Web应用程序保留在一个默
- asp.net-mvc-3 – 子动作是否与其“父母”动作共享相同的Vi
- asp.net – 自定义主体在新请求时恢复为GenericPrincipal
- asp.net-mvc – 在MVC应用程序中使用ELMAH调试/跟踪消息
推荐文章
站长推荐
- 我的ASP.NET Web应用程序无法“找到”App_Code文
- ASP.NET:跨应用程序的表单身份验证:匹配密码加
- asp.net – 没有Javascript的Google Analytics
- 使用Asp.Net文本框的Bootstrap Datepicker
- asp.net-mvc – web.config中的表单身份验证
- asp.net-mvc – 我的模型中名为Title的属性与我视
- asp.net-mvc-3 – Azure ACS – 最佳实践实施
- 为什么ASP.NET框架在响应中添加“X-Powered-By:
- asp.net-mvc – 如何在本地化的文本中嵌入链接
- asp.net – 如何将查询字符串添加到facebook登录
热点阅读