【发布时间】:2011-02-05 15:49:23
【问题描述】:
我已经使用 MediaElement.js 有一段时间了,并且有一个在单个页面上使用 20 个播放器的新应用程序。我希望能够在播放另一首歌曲时停止歌曲 - 并且在播放时不要重叠曲目。我似乎找不到破解此问题的简单方法 - 也许有人知道方法?
谢谢。
【问题讨论】:
标签: javascript html media html5-audio mediaelement.js
我已经使用 MediaElement.js 有一段时间了,并且有一个在单个页面上使用 20 个播放器的新应用程序。我希望能够在播放另一首歌曲时停止歌曲 - 并且在播放时不要重叠曲目。我似乎找不到破解此问题的简单方法 - 也许有人知道方法?
谢谢。
【问题讨论】:
标签: javascript html media html5-audio mediaelement.js
在jQuery中,你可以这样做
$('video,audio').each(function() {
$(this)[0].pause();
});
让我知道这是否有效。
【讨论】:
一个又快又脏的;)
$(".mejs-play").live('click',function(){
$(".mejs-pause").trigger('click');
});
【讨论】:
MediaElement.js 创建一个全局对象“mejs”,该对象具有属性“players”,其中包含有关您已创建的所有播放器的信息。玩家被命名为 mep_0、mep_1 等。
如果你使用下划线/lodash,你可以写类似
_.each(mejs.players, function(player) {
player.media.stop();
});
如果你需要纯js代码,你可以使用'for'操作符
for (var player in mejs.players) {
mejs.players[player].media.stop();
}
【讨论】:
我用 jQuery 找到的最简单的方法:
$('video,audio').trigger('pause');
单线制胜! 它还避免了 JS 错误,因为它不直接针对元素,感谢 jQuery。
【讨论】: