我一直在使用 MediaElement.JS 测试一个网站,到目前为止给我留下了深刻的印象。我已经在 Mac 上的 FF 和 Safari 上测试了 Flash 回退支持。我还在 Windows 7 上使用 IE9 和 Google Chrome 对其进行了测试。一切正常,如果编解码器无法加载,它会使用我在 Flash 播放器中播放的 mp4 版本的视频。
但是,在 IE7 中测试时,Flash 播放器无法加载。我什至没有看到任何视频控件,并且右键单击该元素也没有看到标准的 Flash 设置菜单。然而,它确实有一个黑框,该元素应该出现在其中(这不是我的样式)。
这是我的视频元素 block ,支持 Flash 回退:
<video id="video-tag" width="640" height="360" poster="war-torn.png" controls="controls" preload="none">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source id="source-mp4" type="video/mp4" src="war-torn.mp4" />
<!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
<!-- Flash fallback for non-HTML5 browsers without JavaScript -->
<object width="320" height="240" type="application/x-shockwave-flash" data="flashmediaelement.swf">
<param name="movie" value="flashmediaelement.swf" />
<param name="flashvars" value="controls=true&poster=war-torn.png&file=war-torn.mp4" />
<!-- Image as a last resort -->
<img src="war-torn.png" width="320" height="240" title="No video playback capabilities" />
</object>
</video>
我正在页面中进一步实现 MediaElement.JS,如下所示:
<script src="../build/mediaelement-and-player.min.js"></script>
<script>
$("#video-tag").mediaelementplayer({
features: ['playpause','progress','current','volume']
});
</script>
我不确定发生了什么,因为如果我删除 WebM 的标签,而 FF 使用 Flash 后备,它会完美地工作。如果有人有任何见解,将不胜感激。谢谢!
我也收到此错误消息:
'0.url' is null or not an object
mediaelement-and-player.min.js
Code: 0
URI: url to js file
Line: 41
Char: 4
它在 IE7 兼容模式下也不起作用。
最佳答案
我通过做两件事解决了这个问题。首先,我将 mediaelement-and-player.min.js
脚本标记移至头部,接下来,我将 .mediaelementplayer()
调用移至 html 之后视频标签。
这似乎已经解决了问题。奇怪。
关于mediaelement.js - Flash 回退不适用于 Windows XP SP2 上的 IE7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126932/