我有一个提供mp4的asp.net MVC 4控制器,
public ActionResult GetVideoForEvent(int eventId)
{
var videoPath = "pathToVideo";
var videoFileInfo = new FileInfo(videoPath);
return new RangeFilePathResult("video/mp4", videoFileInfo.FullName, videoFileInfo.LastWriteTimeUtc, videoFileInfo.Length);
}
视频播放器处于局部视图中,
@model int
<link href="https://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/c/video.js"></script>
<video class="video-js vjs-default-skin" controls autoplay preload="none" width="320" height="256" data-setup="{}" >
<source type="video/mp4" src="@Url.Action("GetVideoForEvent", new { eventId = Model})">
</video>
这适用于ie8和ie10但不适用于ie9。
如果我使用视频播放的html5 <video>
,则仅在使用videojs时才会出现此问题。
此外,如果我将源更改为iis上文件的直接链接,则播放视频。
来自ie9控制台的输出:
LOG:
LOG: Video Error[object Object]
使用videojs时导致错误的原因是什么?如何解决?
答案 0 :(得分:0)
我找到了一个解决方法。如果浏览器是8,则仅使用videojs,视频在ie8,9,10和Google Chrome上播放。
虽然视频播放器在每个浏览器上看起来都不同。
<!--[if lt IE 9]>
<link href="https://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
<script src="https://vjs.zencdn.net/c/video.js"></script>
<![endif]-->
答案 1 :(得分:0)
我遇到了同样的问题。检查您的MIME类型是否正确,以及视频是否正确编码。
我发现this网站上的调试指南非常有帮助。