ASP.NET MVC程序播放H.264視頻


在這篇之前,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的視頻:

 

控制器稍作修改一下路徑:

 

視圖無需修改任何,運行瀏覽看看效果:


由於視頻較大,加載時間較長一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM