ASP.Net MVC - 如何在视图中嵌入多个视频

时间:2016-06-21 17:27:24

标签: asp.net-mvc asp.net-mvc-4 mp4

我正在尝试创建一个显示多个培训视频的视图。虽然我确实得到了以下代码,但我现在只获得了黑色视频帧。

我的VideoController:

public ActionResult GetVideo()
    {
        var videoPath =
           Request.MapPath("~/Content/videoFile/IQ3612 Benefits.mp4");
        FileStream fs =
           new FileStream(videoPath, FileMode.Open);
        return new FileStreamResult(fs, "video/mp4");
    }

    public ActionResult GetVideo2()
    {
        var videoPath2 =
           Request.MapPath("~/Content/videoFile/IQ3612 Technical.mp4");
        FileStream fs2 =
           new FileStream(videoPath2, FileMode.Open);
        return new FileStreamResult(fs2, "video/mp4");
    }

我的观点:

<body>
<h1>Training Video Index</h1>
<div> 
    <video width="320" height="240" controls="controls" >
        <source src="@Url.Action("GetVideo","Video")" type="video/mp4">
    </video>
</div>
<div></div>
<div>
    <video width="320" height="240" controls="controls">
        <source src="@Url.Action("GetVideo2","Video")" type="video/mp4">
    </video>
</div>

2 个答案:

答案 0 :(得分:0)

请检查web.config文件中是否正确设置了.mp4格式的MIME类型。

<system.webServer>
 <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
 </staticContent>
</system.webServer>

答案 1 :(得分:0)

  

虽然我确实得到了以下代码,但我现在只得到黑色   视频帧

自上次工作测试以来,文件路径是否已更改?您不应该在文件名中使用空格作为Web URL。例如:IQ3612 Benefits.mp4应为IQ3612_Benefits.mp4(此处为下划线,或使用短划线或完整停靠点)。

最终网址:~/Content/videoFile/IQ3612_Benefits.mp4

也尽量尝试直接路径。这意味着将您的文件放在服务器上并直接链接到它们。尝试HTTP版~,而不是代替../Content/videoFile/IQ3612_Benefits.mp4,但像http://www.mysite/Content/videoFile/IQ3612_Benefits.mp4这样的直接链接效果最好。