在這篇之前,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); } } }
OK,我需要在MVC程序中創建控制器,今天是七月份,也創建一個July15Controller,這個月所有練習均放在此控制器中。
在控制器中,我們創建了2個Action操作,一個是為視圖准備,一個是顯示視頻准備。
接下來,完成視圖創建:
來看看效果:
由於視頻較大,加載時間較長一些。