码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET MVC程序播放H.264视频

时间:2015-07-02 11:27:46      阅读:373      评论:0      收藏:0      [点我收藏+]

标签:

在这篇之前,Insus.NET不管是在ASP.NET还是ASP.NET MVC实现很多视频播放,你可以参考这篇链接:http://www.cnblogs.com/insus/category/465053.html 。

这次Insus.NET想在ASP.NET MVC实现播放H.264格式的视频,如MP4或MOV等,下面分别以此2种视频文件进行演示。

创建一个Result类:
技术分享

 

上面核心部分,是将文件转换为二进制输出。当然转换为二进制的方法,还有另外一种写法,你可以参考:
技术分享

 

HDot264Result类代码:

技术分享
public class HDot264Result : ActionResult
    {
        public string FilePhysicalPath { private get; set; }

        public override void ExecuteResult(ControllerContext context)
        {
            var file = new FileInfo(FilePhysicalPath);
            if (file.Exists)
            {
                context.HttpContext.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

                //var stream = file.OpenRead();
                //var bytes = new byte[stream.Length];
                //stream.Read(bytes, 0, (int)file.Length);
                //context.HttpContext.Response.BinaryWrite(bytes);

                FileStream fs = new FileStream(FilePhysicalPath, FileMode.Open, FileAccess.Read);
                BinaryReader br = new BinaryReader(fs);
                Byte[] bytes = br.ReadBytes((Int32)fs.Length);
                br.Close();
                fs.Close();
                context.HttpContext.Response.OutputStream.Write(bytes, 0, bytes.Length);
            }

        }
    }
View Code



了为演示之需,准备一个mov视频:
技术分享

 

OK,我需要在MVC程序中创建控制器,今天是七月份,也创建一个July15Controller,这个月所有练习均放在此控制器中。
技术分享



在控制器中,我们创建了2个Action操作,一个是为视图准备,一个是显示视频准备。

接下来,完成视图创建:
技术分享

 

来看看效果:

 技术分享


接下来,我们尝试一下.mp4的视频:
技术分享

 

控制器稍作修改一下路径:
技术分享

 

视图无需修改任何,运行浏览看看效果:
技术分享


由于视频较大,加载时间较长一些。

ASP.NET MVC程序播放H.264视频

标签:

原文地址:http://www.cnblogs.com/insus/p/4613327.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!