我正在使用Mediaelement.js播放一些视频并使用javascript来自动播放工作。它在Chrome和IE10中完美运行,但是当涉及到Firefox和IE8时,我遇到了闪回后备问题。以下内容适用于Chrome:
jQuery('video,audio').mediaelementplayer();
if(autoPlay == "true") {
player = new MediaElementPlayer("#"+currentPage+" video,audio");
player.play();
}
IE8返回以下内容:
并且firefox没有返回任何错误,但如果我在alert(alert("hallo");)
前添加player.play()
,则会在我关闭提醒框时播放。
由于大量使用XML,我无法添加小提琴。
答案 0 :(得分:1)
当脚本按下播放按钮时,播放器没有加载并准备播放。
脚本需要在mediaelement实例创建中按成功功能内的播放按钮。
见这里:
How do I get mediaelement.js player state (paused, volume, etc.)?
答案 1 :(得分:0)
对不起,半年后解决了这个问题:
如上所述,必须在成功函数
中调用play事件jQuery("video,audio").mediaelementplayer();
if(autoPlay == "1") {
media = jQuery("#"+currentPage+" video,audio")[0];
new MediaElement(media, {success: function(media) {
media.play();
}});
}
答案 2 :(得分:0)
某些浏览器(特别是 webkit )可能会在视频完全就绪之前触发play()
方法,并且视频可能会在加载时挂起。
我建议添加事件侦听器,以便在触发play()
方法之前检测视频何时可以实际播放:
success : function (media, domObject) {
media.addEventListener('canplay', function () {
media.play();
}, false);
} // success