Mediaelement.js不会使用Flash-fallback

时间:2013-05-01 19:00:23

标签: javascript flash firefox mediaelement.js

我正在使用Mediaelement.js播放一些视频并使用javascript来自动播放工作。它在Chrome和IE10中完美运行,但是当涉及到Firefox和IE8时,我遇到了闪回后备问题。以下内容适用于Chrome:

jQuery('video,audio').mediaelementplayer();

if(autoPlay == "true") {
  player = new MediaElementPlayer("#"+currentPage+" video,audio");
  player.play();
}

IE8返回以下内容: enter image description here

并且firefox没有返回任何错误,但如果我在alert(alert("hallo");)前添加player.play(),则会在我关闭提醒框时播放。

由于大量使用XML,我无法添加小提琴。

3 个答案:

答案 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