2011-02-05 105 views
3

我一直在玩MediaElement.js一段時間,並有一個新的應用程序,在一個頁面上使用20個玩家。我希望能夠在播放另一首歌曲時停止歌曲,並且在播放時不要重疊曲目。我似乎無法找到一個簡單的方法來破解這個 - 也許有人知道一種方式?MediaElement.js停止所有玩家

謝謝。

回答

5

在jQuery中,你可以做

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

讓我知道是否可行。

+0

沒有。不起作用。皺眉。 – 2011-02-07 15:50:58

+0

約翰,明確沒有工作,但控制檯似乎在找到所有的元素(它吐出一個元素列表)。它也不會拋出錯誤......這是一個好兆頭。但球員不停! – David 2011-03-01 07:18:39

3

一個快速和骯髒一個;)

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

MediaElement.js創建一個全局對象「MEJS」具有屬性的球員的其中包含有關you`ve已創建的所有玩家。玩家被命名爲mep_0,MEP_1等

如果使用下劃線/ lodash如果你需要純JS代碼,你可以使用「爲」經營者,你可以寫類似

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

for (var player in mejs.players) { 
    mejs.players[player].media.stop(); 
} 
3

我用jQuery最容易找到的:

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

單線爲贏! 它也避免JS 錯誤,因爲它不直接針對元素,感謝jQuery。