【问题标题】:HTML5 Video Not Working in IE9+10HTML5 视频在 IE9+10 中不起作用
【发布时间】:2014-04-01 17:24:47
【问题描述】:

我正在尝试在多个浏览器中使用 HTML5 视频制作图像横幅。我的视频可以在大多数操作系统的 Chrome 和 Firefox 中运行,但 Internet Explorer 似乎无法在 IE9 以上运行。横幅所在页面与视频文件不在同一文件夹中;横幅存在于许多页面中。

我可以看到的问题是 IE9 和 10 在视频 HTML5 代码中看不到 Flash 后备选项并且它没有注册。我想创建某种 if-else 语句,强制使用 IE9 或 10 的用户查看 Flash 版本,同时将所有其他浏览器重定向到通用 HTML5 版本。此横幅适用于以下版本,包括 IE8。

我无权访问 .htaccess 文件;我在其他地方看到了这个建议,以便手动添加 MIME 类型(即使在我在每个视频源行中指定了它之后。)我查看了 IE9+10 中的控制台以查看 MIME 类型是否有问题,并且没有出现错误向上。右键单击视频出现的空间也给了我 HTML5 视频选项,但单击播放什么也没做。

如果有人可以帮助我调试代码或想办法让它工作,那就太好了。谢谢! 下面是我正在使用的 HTML5 视频代码,它适用于 Chrome、Firefox 和其他浏览器。

<video autoplay loop>
<source src="http://fulmar.mahopac.k12.ny.us/www/mcsd_FR/site/hosting/Fulmar%20Banner/Fulmar_Banner.mp4" type="video/mp4">
<source src="http://fulmar.mahopac.k12.ny.us/www/mcsd_FR/site/hosting/Fulmar%20Banner/Fulmar_Banner.ogv" type="video/ogg">
<source src="http://fulmar.mahopac.k12.ny.us/www/mcsd_FR/site/hosting/Fulmar%20Banner/FlashFulmar Slideshow.webmhd.webm" type="video/webm">
<object width="954" height="224" type="application/x-shockwave-flash" data="http://fulmar.mahopac.k12.ny.us/www/mcsd_FR/site/hosting/Fulmar%20Banner/Fulmar%20Banner.swf">
    <param name="movie" value="http://fulmar.mahopac.k12.ny.us/www/mcsd_FR/site/hosting/Fulmar%20Banner/Fulmar%20Banner.swf" />
</object>
</video>

编辑:mp4 文件的编解码器是 h.264 + AAC。

【问题讨论】:

  • mp4 用什么编解码器编码?并非所有浏览器都支持相同的编解码器。 IE9只支持h264和mp3/aac,不知道ie10支持什么
  • 我很确定 IE9+ 支持&lt;video&gt;,因此没有回退,所以很可能是源的问题。要使.mp4IE 中工作,请确保您使用的是H.264 + MP3H.264 + AACH.264 对于低端机器来说应该是低调的,如果这很重要的话。

标签: javascript html flash internet-explorer video


【解决方案1】:

IE 仅支持一组有限的视频源编解码器

IE 9+ 支持 h264 和 mp3/aac,vp8 和 vp9 是有问题的,所有其他的它似乎都不支持。

MDN doc on media browser compatibility

因此,您必须提供多个视频源来支持每个浏览器,但不一定为每个浏览器提供一个视频,因为某些浏览器的支持确实重叠。

提供带有 h264 aac/mp3 的视频应该可以在 IE、Safari 和 Chrome 上播放。 而使用 Theora 或 VP8 的视频应该可以在 Firefox 和 Opera 上播放

【讨论】:

  • 我有一个带有 .h264 格式的 MP4 作为源选项。它不适用于 IE9+10。我是否必须指定 video\mp4 以外的其他内容才能使类型生效?
  • 您可以尝试指定正在使用的实际编解码器。因此,您可以输入type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"',而不是只输入type="video/mp4",而是将列出的实际编解码器替换为您的视频使用的编解码器。
【解决方案2】:

一个快速而肮脏的解决方案是强制IE 模拟旧版本的浏览器:

  <!-- Mimic Internet Explorer 8 -->
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
  <meta http-equiv="X-UA-Compatible" content="IE=8" >

请注意,这些&lt;meta 标签必须放在标题中在所有其他元素之前(标题元素和其他元元素除外)。

【讨论】:

  • 这是否只强制 Internet Explorer 到版本 8 或所有浏览器?
  • @user2246272 仅限 Internet Explorer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-23
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多