问题
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&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