Brice
Brice

Reputation: 31

Youtube API - equivalent of onTime

I am looking for a similar event in OnTime (jwplayer) in YouTube API. More precisely, with jwplayer, I used the following function that I would fit with the youtube player:

//Fonction destinée à afficher des notes en fonction de la progression des vidéos lues
    jwplayer("mediaplayer").onTime(function(event) 
            {
                switch (jwplayer().getPlaylistItem().title)  
                {  
                   case 'Séquence 1':
                        if (event.position >=42 && event.position <=70 )
                          {
                            setText("CANGUILHEM, Georges, <i>Le normal et le pathologique</i>, Paris, PUF, 1972.");
                          }
                        else if (event.position >=1257 && event.position <=1268 )
                          {
                            setText("CANGUILHEM, Georges, <i>Essai sur quelques problèmes concernant le normal et le pathologique</i>, thèse de doctorat en médecine, 1943.");
                          }
                        else {setText("Retrouvez ici des notes destinées à préciser un point particulier de l'intervention.")};
                        break;  
                   case 'Séquence 2': 
                        {setText("Retrouvez ici des notes destinées à préciser un point particulier de l'intervention.")};
                        break;  
                    default:  
                      setText("Retrouvez ici des notes destinées à préciser un point particulier de l'intervention.");  
                      break;  
                } 
           
          
            });
        
        
    
    function setText(text)
    {
        document.getElementById("message").innerHTML = text;
    }

Does anyone have an idea how I could adapt it?

Upvotes: 3

Views: 151

Answers (2)

s2t2
s2t2

Reputation: 2686

use javascript setInterval to execute a function at specified interval.

function onTime(){
    console.log("executing at specified interval")
};

window.setInterval(onTime, 3000);

http://www.w3schools.com/jsref/met_win_setinterval.asp

within this function, to mimic the jwplayer onTime function, you'll probably have to perform a check to see if the video is playing before executing your custom code. perhaps something like:

function onTime(){
    var player_state = player.getPlayerState();
    if(player_state == 1){
        var player_position = player.getCurrentTime()
        console.log("the video is playing!", player_position)
    }
};

Upvotes: 1

4x3LDev
4x3LDev

Reputation: 99

Why don't you use this : player.getDuration(); You can find documentation here :

https://developers.google.com/youtube/js_api_reference#Retrieving_video_information

something like :

var time = player.getDuration();
if (time == "le temps que tu veux") {
    // ton code ici...
}

Hope it will help...

Upvotes: 0

Related Questions