2011-02-05 18 views
3

私はMediaElement.jsでしばらく遊んでいましたが、1ページで20人のプレーヤーを使用する新しいアプリケーションを持っています。私は、別の曲が演奏されたときに曲を停止させたいと思っています。曲を再生しているときに曲を重ねないようにしたいのです。私はこれを簡単にハックする方法を見つけることができないようです - おそらく誰かが方法を知っていますか?MediaElement.jsすべてのプレイヤーを停止

ありがとうございました。 jQueryので

答えて

5

、あなたはそれが動作するかどうか、私に教えてください

$('video,audio').each(function() { 
     $(this)[0].pause(); 
}); 

を行うことができます。

+0

いいえ。動作しません。眉打ち。 –

+0

ジョンは確かに動作しませんでしたが、コンソールはすべての要素を見つけているようです(要素のリストを吐き出す)。また、エラーをスローしません...これは良い兆候です。しかし、選手たちは止まらない! – David

+2

私はプレイヤーの参照を取り出すことによって一時停止することができました:$(this)[0] .pause(); – starpause

3

迅速かつ汚い1;)

$(".mejs-play").live('click',function(){ 
    $(".mejs-pause").trigger('click');        
}); 
3

MediaElement.jsはyou`veが作成され、すべてのプレーヤーについての情報が含まれている属性「選手」を持つグローバルオブジェクトのmejs」を作成します。あなたが/アンダースコアを使用している場合プレイヤーは、あなたがjsの純粋なコードが必要な場合は、オペレータ

for (var player in mejs.players) { 
    mejs.players[player].media.stop(); 
} 
3
「の」を使用することができます

_.each(mejs.players, function(player) { 
    player.media.stop(); 
}); 

ような何かを書くことができますlodash mep_0、mep_1など

命名されています

jQueryで最も簡単に見つかりました:

$('video,audio').trigger('pause'); 

勝利のためのワンライナー! また、JS のエラーは、感謝jQueryの要素を直接対象としていないため、回避します。

+0

シンプルで効果的 –

関連する問題