HTML5视频在IE9上无法正常工作

4
为什么在这个页面这个页面上的视频可以在所有浏览器中播放,但不能在Microsoft Internet Explorer 9中播放?
有没有解决办法?
这个视频无法在我的IE 9.0.8112.16421上播放。
我的操作系统是Windows 7 64位。 enter image description here

谢谢,我已经在问题中添加了我的IE信息。 - Jitendra Vyas
视频在我的IE 9.0.8112.16421上也播放得很好,videojs.com网站上的视频也是如此。 - kinakuta
@kinakuta - 那么我的 PV 上可能出了什么问题呢 :( - Jitendra Vyas
发生了什么?您是否在F12开发人员工具中看到错误消息?如果您右键单击视频并选择“保存”,您能将文件保存到桌面并播放吗? - EricLaw
Windows运行在虚拟机还是物理机上? - Teddy
显示剩余3条评论
9个回答

3
一些IE9版本因为某种原因需要一个视频文件的绝对路径。
例如:
<video poster="big_buck_bunny/poster.jpg" controls>
  <source src="http://www.example.com/big_buck_bunny/trailer.mp4" type="video/mp4" >
  <source src="http://www.example.com/big_buck_bunny/trailer.webm" type="video/webm">
</video>

3
服务器返回的MIME类型也非常重要,正如Jason Dorell所说。我在网站上使用

2

问题可能是文件类型,尝试使用以下方法:

<video poster="big_buck_bunny/poster.jpg" controls>
  <source src="big_buck_bunny/trailer.mp4" type="video/mp4" >
  <source src="big_buck_bunny/trailer.ogg" type="video/ogg" >
  <source src="big_buck_bunny/trailer.webm" type="video/webm">
</video>

big_buck_bunny/trailer.* is your video


1

这也可能是兼容性检测中的错误:只是一种理论 = X

摘自:videojs:main.js(第249-255行)

// Check if the browser supports video.
browserSupportsVideo: function() {
    if (typeof VideoJS.videoSupport != "undefined") { return VideoJS.videoSupport; }
    VideoJS.videoSupport = !!document.createElement('video').canPlayType;
    return VideoJS.videoSupport;
}

因为我相信使用Flash作为回退方案在检测后非常可靠。但是我没有IE 9.0.8版本,所以你可以运行这段代码来验证是否正确。

var test = function() {
    return (!!document.createElement('video').canPlayType);
}

如果这是真的,我可能会考虑fork文件并为IE 9.0.8添加失败...
如果IE只支持一半的视频,我不会感到惊讶:这意味着检测的方法在此过程中被破坏了。

1
请确保从服务器返回的内容类型为“video/mp4”。

1

我有完全相同的问题。你提供的两个示例页面让我点击播放按钮,然后它变成暂停按钮,但视频不会播放。

我尝试使用JavaScript来跟踪问题,但返回null。 alert(document.getElementsByTagName("video")[0].error);

不过我偶然发现了这个: 我正在使用N版本的Windows 7 64位这个msdn页面建议我的IE9无法播放视频的原因是我的Windows版本没有媒体播放器或“媒体功能”已关闭。

希望这可以帮到你。


我曾尝试使用SVG和Google SVGWeb项目在IE9中播放FLV文件。这就是我开始研究整个HTML5视频的原因。KB968212下载解决了我的FLV播放问题,所以我不再寻找在IE9中修复HTML5视频的方法。 - Bucket

1

如果仍然无法正常工作,这里有一个肯定的解决方案:使用压缩格式H.264对mp4进行编码。如果您使用mpeg4或divx等格式进行编码,则在IE9上无法正常工作,甚至可能会崩溃Google Chrome。为此,我使用Any Video Converter免费软件。但是任何好的视频工具都可以完成此操作。

我尝试了这里列出的所有解决方案,并尝试了其他解决方法数天,但问题在于我创建的mp4的方式。 IE9无法解码除H.264以外的其他格式。

希望这可以帮助到您, Jimmy


0
有时候问题可能出在安装的视频编解码器上,不同的浏览器可能会以不同的方式播放视频(从内部实现的角度来看)。
尝试安装例如K-Lite codec pack,并查看发生了什么。
附:这些视频在我的 Win 7 x64 上 IE9 x86 和 IE9 x64 中都能正常工作。

-1
在IE9中,没有Flash视频,而是使用HTML5的<video>元素,它尝试加载:
http://www.bodhibikes.com/_/video/WELCOME_TO_BODHI_840_472.mp4

但是它在某种程度上失败了。您应该为IE/Chrome等指定正确的视频格式


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接