Cómo detener la reproducción simultánea de videos incrustados en Youtube
Los jugadores de SoundCloud tienen una funcionalidad predeterminada en la que cuando un usuario inicia un jugador, automáticamente detiene a todos los demás que están jugando actualmente. (ejemplo:http://jsfiddle.net/Vx6hM/).
Estoy intentando recrear esto con videos de YouTube incrustados que se agregan dinámicamente a través del código de inserción normal.
Usando esto:https://stackoverflow.com/a/7513356/938089 y esto:https://stackoverflow.com/a/7988536/1470827
Soy capaz de llegar hasta aquí:
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);
}
}
}
});
});
}
Aquí hay un JS Bin con medio trabajando:http://jsbin.com/oxoyes/2/edit
Actualmente, solo está llamando a uno de los jugadores. Lo necesito para pausar a TODOS los otros jugadores, excepto al que está jugando.
Además, cualquier sugerencia sobre cómo limpiar esto y / o hacerlo de manera diferente / mejor es bienvenida. Todavía soy muy nuevo en javascript, así que ni siquiera estoy seguro de hacerlo de la manera correcta.
¡Gracias!