我一直在使用MediaElement.JS测试一个网站,到目前为止给我留下了非常深刻的印象。我在Mac上测试了FF和Safari上的Flash后备支持。我还在Windows 7上使用IE9和谷歌Chrome进行了测试。一切正常,如果编解码器无法加载,则使用我在Flash播放器上播放的mp4版本。
但是,在IE7中测试后,Flash播放器无法加载。我甚至没有看到视频的任何控件,右键单击元素我没有得到标准的Flash设置菜单。然而它确实有一个黑框,元素应该出现(而且它不是我的造型)。
这是我的视频元素块,支持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'为null或不是对象
的MediaElement和 - player.min.js
代码:0
URI: url to js file
行:41
Char:4
它在IE7兼容模式下也不起作用。
答案 0 :(得分:3)
我能够通过做两件事来解决问题。首先,我将mediaelement-and-player.min.js
脚本标记移到了头部,接下来,我在视频标记的html之后移动了.mediaelementplayer()
调用。
这似乎解决了这个问题。怪异。