0

http://mediaelementjs.comを使用して、作業中のプロジェクトでオーディオとビデオをロードしています。新しいブラウザでは問題なく動作します。

私が必要とする主な機能 (クロス ブラウザのオーディオ/ビデオ サポート以外) は、オーディオ クリップが終了したときのオン エンド コールバックです。

すべてが IE7/8 に読み込まれますが、オーディオ自体が 2 倍 (転倒/4 倍) します。不気味なエフェクトです。

私はこのようにそれをロードしています:

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);
          }
    });
}

ドキュメントの head セクションに挿入するのは、mediaelement.js ライブラリのどの js と css ですか? 最初のオーディオを強制的に一時停止するために、終了イベント リスナーの先頭に次の行を追加してみてください。

media.pause();

それがうまくいかない場合は、最初のオーディオ オブジェクトまたは HTML コンテナーを破棄してみてください。ただし、将来の参照用に必要がありません。ただし、これはやり過ぎに思えるかもしれません。

于 2013-02-26T22:09:24.380 に答える