SoundCloud 播放器具有默认功能,当用户启动播放器时,它会自动暂停当前正在播放的所有其他播放器。(例如:http: //jsfiddle.net/Vx6hM/)。
我正在尝试使用通过普通嵌入代码动态添加的嵌入式 youtube 视频来重新创建它。
使用这个:https ://stackoverflow.com/a/7513356/938089 和这个:https ://stackoverflow.com/a/7988536/1470827
我能够做到这一点:
function chain(){
$('.post').each(function(){
var player_id = $(this).children('iframe').attr("id");
var other_player_id = $(this).siblings().children('iframe').attr("id");
player = new YT.Player( player_id, {
events:
{
'onStateChange': function (event)
{
if (event.data == YT.PlayerState.PLAYING)
{ callPlayer( other_player_id , 'pauseVideo' );
alert('Trying to pause: ' + other_player_id);
}
}
}
});
});
}
这是一个 JS Bin,它工作了一半:http: //jsbin.com/oxoyes/2/edit
目前,它只呼叫其中一名球员。我需要它来暂停所有其他玩家,除了正在播放的玩家。
此外,欢迎任何有关如何清理和/或以不同方式/更好地进行操作的提示。我对javascript还是很陌生,所以我什至不确定我是否以正确的方式去做。
谢谢!