1

我有一个提供 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。只有在使用 videojs 时才会出现问题,如果我只使用<video>视频播放的 html5。此外,如果我将源更改为直接链接到 iis 上的文件,视频就会播放。

来自 ie9 控制台的输出:

LOG:  
LOG: Video Error[object Object]

使用videojs时导致错误的原因是什么,我该如何解决?

4

2 回答 2

0

我有同样的问题。检查您的 mp4 文件的 MIME 类型是否正确以及视频是否正确编码。

我发现这个网站上的调试指南很有帮助。

于 2013-12-06T12:58:30.787 回答
0

我找到了一种解决方法。如果浏览器是 ie 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]-->
于 2013-04-03T12:13:00.997 回答