我设置了这个小javascript来初始化我网页上的几个玩家,并添加一个事件,使只有一个玩家处于活动状态,而其他一切都暂停了。这应该是模仿";秋天的原因;由于某种原因,该功能仅在Vimeo视频上可用,但在Youtube视频上不可用:
const players = Plyr.setup(".myplayer", { fullscreen: { enabled: false }, autopause: true });
$('players').each(function(index, players) {
players[index].on('play', function(index, players, event) {
players.not(this).each(function(index, players) {
players[index].pause();
});
});
});
不知怎么的,什么都没发生。.not(this)
应该选择除我正在声明事件侦听器的实例之外的所有其他实例。但当我尝试它时,没有任何东西暂停。所有其他球员都在继续比赛。
我做错了什么?任何提示都将不胜感激。
/*
<video controls crossorigin playsinline preload="false" class="player">
<source src="VIDEO_PATH" type="video/mp4" />
</video>
*/
// Init plyr
const players = Array.from(document.querySelectorAll('.player')).map(p => new Plyr(p));
//Handle play/pause event
for (let index = 0; index < players.length; index++) {
players[index].on('play', function() {
console.log('Play')
for (let index2 = 0; index2 < players.length; index2++) {
if (index != index2) {
players[index2].pause(); // Pause other plyr instances
}
}
})
}