Siva G
Siva G

Reputation: 1174

Getting current time of embedded iframe youtube player?

Here i have tried as follows:

HTML

<iframe id="player" style="position: relative; height: 220px; width: 400px" src="http://www.youtube.com/embed/7a_CVFRqYv4?rel=0&amp;enablejsapi=1"></iframe>

Script

var player;
function onYouTubePlayerAPIReady() {player = new YT.Player('player');}

Here i want to such action like when the player timing reaches 6 seconds,i want to change the src of the iframe.

Upvotes: 12

Views: 24408

Answers (3)

Jon B
Jon B

Reputation: 2834

This thread describes how you can get the current playing time of a video using the YouTube API Getting Current YouTube Video Time

Then maybe use setInterval() to run every second to check the value of getCurrentTime() from the API and if value = 6 set the src to the new video.

Upvotes: 7

Good Idea
Good Idea

Reputation: 2831

this should be solved with setInterval(), not setTimeout().

using the latest youtube iFrame API:

var player;
var checkInt; // save this as a var in this scope so we can clear it later
function onYouTubePlayerAPIReady() {
   player = new YT.Player('player');
   startInterval()
}

function startInterval() {
   //checks every 100ms to see if the video has reached 6s
   checkInt = setInterval(function() {
      if (player.getCurrentTime() > 6) {
         changeSrc();
         clearInterval(checkInt);
      };
   }, 100)
}

function changeSrc() {
   player.loadVideoById(xxxxx);
}

Upvotes: 1

Rita Chavda
Rita Chavda

Reputation: 191

call below function when your video is starting playing

function StartVideo(){
setTimeout("ChangeLinkUrl()", 6000);
}

function ChangeLinkUrl(){
var elem = document.getElementById('YourFrameID');
 elem.src = "newSorceURL";
}

Upvotes: -3

Related Questions