2
I have a website where I made a Youtube video Carousel using iframe, but when I browse the Carousel the video keeps playing.
How can I pause automatically when a new video is played?
2
I have a website where I made a Youtube video Carousel using iframe, but when I browse the Carousel the video keeps playing.
How can I pause automatically when a new video is played?
1
To automatically pause a video you have to use the API of Youtube instead of the default iframe.
This API allows you to control simple things like events play state, pause, stop etc, or go to the extreme and create a fully customized player in your own way.
Here is an example of what the code would be like to pause the transmission of a player that is currently playing when a new video is clicked:
Example in jsFiddle: Youtube Pause/Play
<div id="player1"></div>
<div id="player2"></div>
<script>
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player1 = new YT.Player('player1', {
height: '200',
width: '520',
videoId: 'glaG64Ao7sM',
events: {
'onStateChange': onPlayerStateChange
}
});
player2 = new YT.Player('player2', {
height: '200',
width: '520',
videoId: 'Z-48u_uWMHY',
events: {
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING) {
pauseVideo(event.target.a.id);
}
}
function pauseVideo(player_id) {
if (player_id == "player1") {
player2.pauseVideo();
} else if (player_id == "player2") {
player1.pauseVideo();
}
}
</script>
You can read more in this documentation in English:
Youtube Player API - Getting Started
Browser other questions tagged iframe video youtube carousel youtube-api
You are not signed in. Login or sign up in order to post.
See if this can help
– Pedro Pinto