如何停止所有正在播放的MediaElement播放器?

问题描述:

我想知道如何停止当前在DOM中的所有MediaElement播放器。我试过这个:如何停止所有正在播放的MediaElement播放器?

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

让我知道这是否有效。

一个快速和肮脏的,但都没有工作。

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

试图做我的功课,但似乎无法找到答复了。

尝试......

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

这里有一个简单的方法做一个“停止所有”。

当第一次创建的MediaElement的球员,创建它们各自明确地(而不是使用$('video,audio').mediaelementplayer()):

var mediaElementPlayers = []; 
$('video,audio').each(function(){ 
    mediaElementPlayers.push(new MediaElementPlayer(this)); 
}); 

然后,当你想阻止他们:

for (var i=0; i<mediaElementPlayers.length; i++){ 
    mediaElementPlayers[i].pause(); // pause 
    if (mediaElementPlayers[i].getCurrentTime()){ 
     mediaElementPlayers[i].setCurrentTime(0); // rewind 
    } 
} 

很不错@ Bart

这里是一个Barts功能的附加功能,用于在某个上下文(在某个元素内)停止音频。有用的停止媒体在弹出播放时将其关闭,例如:

function stopAudio(context) { 
    for (var i=0; i<mediaElementPlayers.length; i++){ 
     if($(mediaElementPlayers[i].container).parents().find(context).length === 0) { 
      mediaElementPlayers[i].pause(); // pause 
      if (mediaElementPlayers[i].getCurrentTime()){ 
       mediaElementPlayers[i].setCurrentTime(0); // rewind 
      } 
     } 
    } 
} 

触发暂停按钮的点击事件将工作.... check it here

$('.mejs-pause button').trigger("click");