Getting current time of embedded iframe youtube player?

霸气de小男生 提交于 2019-12-19 21:57:30

问题


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.


回答1:


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.




回答2:


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);
}



回答3:


call below function when your video is starting playing

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

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


来源:https://stackoverflow.com/questions/24646997/getting-current-time-of-embedded-iframe-youtube-player

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!