Stoppen Sie alle Videos, wenn ein neues Video abgespielt wird
Ich benötige Hilfe bei der Youtube-API und beim Einbetten von Videos. Ich möchte alle iFrame-Videos stoppen (hier habe ich nur 3 aufgenommen, aber es gibt mehrere Videos), die auf der aktuellen Seite ausgeführt werden, wenn auf ein neues YouTube-Video geklickt wird. Zu einem bestimmten Zeitpunkt sollte nur ein iframe-YouTube-Video ausgeführt werden. Ich habe die Dokumentation [https://developers.google.com/youtube/js_api_reference[1] durchgesehen und konnte bis hierher schreiben ...
Aktualisierte:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://www.youtube.com/player_api"></script>
<script type="text/javascript">
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
var done = false;
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
alert("hi5");
player1.stopVideo();
player2.stopVideo();
done = true;
}
}
</script>
</head>
<body>
<div>TODO write content</div>
<ul class="image-grid" id="list">
<li>
<iframe id="player" width="385" height="230" src="http://www.youtube.com/embed/erDxb4IkgjM?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
<li>
<iframe id="player1" width="385" height="230" src="http://www.youtube.com/embed/wSrA5iQGlDc?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
<li>
<iframe id="player2" width="385" height="230" src="http://www.youtube.com/embed/c7b_WLkztXc?rel=0&wmode=Opaque&enablejsapi=1;showinfo=0;controls=0" frameborder="0" allowfullscreen></iframe>
</li>
</ul>
</body>
</html>
AKTUALISIERTE
onStateChange-Ereignis wird nicht ausgelöst (funktioniert)In diesem Beispiel habe ich 3 Videos, in Wirklichkeit hat es mehr Videos, anstatt auf PlayerStateChange für jedes Video zu schreiben. Es ist möglich, ein Array für alle Videos zu verwenden. ) und this.playvideo () .. sowas in der Art .. (Hilfe erforderlich) siehe bitte diese Geigehttp://jsfiddle.net/LakshmiV/kn5Sf/ Bitte helfen Sie.