我在网页视图中嵌入了一个Windows Media Player:
<div id="divCourseVideo" style="width:100%;margin:0 auto;" class="container">
<OBJECT style="display:inline-block" ID="CoursePlayer" HEIGHT="400" WIDTH="400" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="video/x-ms-wmv">
<param name='URL' value="@Url.Action("ShowMovie", "OLT", new { courseId = Model.ID })" />
<param name='autoStart' value="true" />
<param name='currentPosition' value="false" />
<param name='showControls' value="true" />
</OBJECT>
</div>
ShowMovie操作从数据库提取视频流并将其发送到视图中,代码如下:
public void ShowMovie(string courseId)
{
CourseVideo video = Repository.GetCourseVideoStream(courseId);
var bytesinfile = new byte[video.VideoStream.Length];
video.VideoStream.Read(bytesinfile, 0, (int)video.VideoStream.Length);
ControllerContext.HttpContext.Response.BinaryWrite(bytesinfile);
}
当我使用大约10K左右的视频时,它可以正常播放。但是如果我使用大约137K左右的文件,该文件就无法播放。文件太大了吗?
当我使用F12查看网络活动时,我发现该文件试图以text/html形式下载。为什么会这样?我还发现在GET函数上它被中止了。为什么会这样?我已经增加了executionTimeout值,但没有效果。
napuza提供的信息很好,我能够获得正确的内容类型,似乎整个文件都已经流式传输到浏览器,但仍无法播放。