我正在尝试使用Flowplayer在可用的情况下允许HTML5视频,并在不支持时使用闪回后备。
这在Firefox和Chrome中运行良好,但在IE9中找不到视频,在IE9下面它只是不支持视频。
我做错了还是IE不支持流媒体?
答案 0 :(得分:5)
我遇到了类似的问题,我想我已经解决了,所以也许这也会解决它。我的问题最终成为我的.mp4视频文件的MIME类型被视为video / mpeg。当视频作为视频/ mp4提供时,它将在IE9上正确加载。我没有测试.ogg文件,但我觉得问题类似。
我有点困惑,因为我在主flowplayer demos页面以及此HTML5 Video Player Comparison页面上看到了视频(在所有浏览器中)。然而,我感觉有点平反,因为他们自己的开发人员无法获得一致的负载,已经作为bug report的一部分提交,他们的"fix" demo也不适合我(但他们的主要演示了!)。
完全镜像他们的设置并跟随setup documentation后,我的播放器仍然无法在IE9中工作,但在Firefox,Chrome和IE8中工作(使用闪回后备)。
我决定尝试从他们的服务器加载他们的视频,它立即起作用。我检查了IE9中的网络窗格,发现了MIME类型的差异。当流量计服务器将.mp4文件作为“video / mp4”提供时,我的服务器将.mp4文件作为“video / mpeg”提供。我知道.mp4文件类型只是一个容器,视频文件依赖于底层编码方案,但我觉得IE9在尝试基于MIME类型解码视频时很挑剔 - 它甚至都不会尝试如果它不是它认为可玩的东西就玩它。我让网络管理员更改了MIME类型,之前失败的同一视频现在运行正常。
供参考,这就是我设置HTML的方式:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://releases.flowplayer.org/5.1.1/flowplayer.min.js"></script>
身体<div class="flowplayer is-splash">
<video preload="none">
<source src="http://stream.flowplayer.org/black/470x250.mp4" type="video/mp4" />
</video>
</div>
答案 1 :(得分:2)
这里的解决方案似乎对我有用....
基本上,流媒体的flash后备似乎在IE中不起作用......
解决方案是使用旧的Flowplayer flash插件并使用IE条件标签,如下所示:
<!--[if IE]>
<a href="videos/file.mp4"
style="display:block;width:520px;height:330px"
id="player">
</a>
<script>
flowplayer("player", "/swf/flowplayer-3.2.15.swf");
</script>
<![endif]-->
<!--[if !IE]><!-->
<div class="flowplayer" data-swf="swf/flowplayer.swf" data-ratio="0.417">
<video>
<source type="video/mp4" src="videos/file.mp4"/>
<source type="video/ogg" src="videos/file.ogv"/>
</video>
</div>
<!--<![endif]-->
答案 2 :(得分:1)
经过大量研究并且无法添加标头标签以强制兼容模式(因为我的视频位于模态内)。我通过更改
中的源标记让它适用于IE9 <source type="video/mp4" src="video.mp4"></source>
到
<source type="text/html" src="video.mp4"></source>
我看到当IE9中没有播放视频时,mp4文件被重新编辑为text / html而不是video / mp4 ...所以我只是尝试更改标签并且它有效!
我知道这没有任何意义......但是从IE开始有意义的时候?!所以,如果你不能在你的php文件头中设置标题('X-UA-Compatible:IE = EmulateIE8');在我的情况下,尝试将mp4类型设置为text / html