0

我正在使用http://mediaelementjs.com在我正在处理的项目中加载音频和视频。它可以在较新的浏览器上完美运行。

我需要的主要功能(跨浏览器音频/视频支持除外)是音频剪辑完成时的结束回调。

一切都在 IE7/8 中加载,但音频本身会增加一倍(倾斜/四倍)。这是一种诡异的效果。

我像这样加载它:

function play1(){
    var audioPlayer = MediaElement('player1', {
          success: function (media) {
              media.play();
              media.addEventListener('ended', function (e) {
                  setTimeout(function(){
                              play2();
                  }, 2000);
              }, false);
          };
    });
};

下一个音频剪辑 play2() 加载结束,其设置与上面的函数非常相似。出于某种原因,在 IE7/8 中它会连续加载音频。

我虽然也许我可以让 audioPlayer 成为一个全局变量,它每次都会覆盖音频,但这不起作用。

4

1 回答 1

0

使用此版本的函数play1 mediaelement.js 成功加载:

function play1(){
    var audioPlayer = MediaElementPlayer('#player1', {
          success: function (media) {
              media.play();
              media.addEventListener('ended', function (e) {
                  setTimeout(function(){
                              play2();
                  }, 2000);
              }, false);
          }
    });
}

您将 mediaelement.js 库的哪个 js 和 css 插入到文档的 head 部分?尝试在结束事件侦听器的开头添加以下行,以强制第一个音频暂停:

media.pause();

如果这不起作用,请尝试销毁第一个音频对象或您的 HTML 容器,前提是您不需要它以供将来参考。不过,这似乎有点矫枉过正。

于 2013-02-26T22:09:24.380 回答