1

我正在使用 Mediaelement.js 播放一些视频并使用 javascript 让自动播放工作。它在 Chrome 和 IE10 中完美运行,但在 Firefox 和 IE8 中我遇到了 Flash 后备问题。以下适用于 Chrome:

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

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

IE8 返回以下内容: 在此处输入图像描述

并且 firefox 没有返回错误,但是如果我alert(alert("hallo");)在 前面添加一个player.play(),它会在我关闭警报框时播放。

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

4

3 回答 3

1

当脚本按下播放按钮时,播放器尚未加载并准备好播放。

该脚本需要在 mediaelement 实例创建中按下成功函数内的播放按钮。

请参阅此处:
如何获取 mediaelement.js 播放器状态(暂停、音量等)?

于 2014-06-16T15:32:23.577 回答
0

是的,抱歉,半年后解决了:

如前所述,必须在成功函数中调用播放事件

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

if(autoPlay == "1") {
  media = jQuery("#"+currentPage+" video,audio")[0];
  new MediaElement(media, {success: function(media) {
      media.play();
  }});
}
于 2014-06-16T17:11:27.563 回答
0

某些浏览器(特别是webkit )可能会在视频完全准备好之前触发该play()方法,并且视频可能会在加载时挂起。

我建议在触发方法之前添加一个事件侦听器来检测视频何时可以实际播放:play()

success : function (media, domObject) {
    media.addEventListener('canplay', function () {
        media.play();
    }, false);
} // success
于 2014-06-30T01:38:31.830 回答