【发布时间】:2012-10-11 06:15:49
【问题描述】:
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 还是很陌生,所以我什至不确定我是否以正确的方式进行。
谢谢!
【问题讨论】:
-
我写了一篇博文,详细介绍了响应各种 Youtube 播放器 API 事件的完整工作示例:objectpartners.com/2013/08/21/…
标签: javascript jquery youtube youtube-api