2011-02-05 114 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。