2012-04-09 5 views
1

Gibt es eine Möglichkeit, ein Ereignis zu verursachen, wenn ein Video eine bestimmte Zeit erreicht? Ich möchte eine Rückruffunktion zu dem Zeitpunkt erreichen, zu dem das Video eine bestimmte Zeit erreicht hat, und die Zeit, die das Video benötigt, um diese Zeit zu erreichen, ist unvorhersehbar, da der Benutzer einen Teil des Videos überspringen oder die Pufferung übernehmen kann einige Zeit, bevor das Video wieder aufgenommen wird, oder etwas in der Art, so wird das Einstellen eines zeitgesteuerten Ereignisses nicht funktionieren, da das Video eine bestimmte Zeit früher erreichen kann.ytplayer api-Ereignis beim Erreichen einer Position in einem Video?

Ich kann die Zeit des Videos abfragen, aber was ich will, ist einen Rückruf zu erhalten, wenn das Video eine bestimmte Zeit erreicht hat. Gibt es eine Möglichkeit, dies zu tun?

Antwort

3

Ich werde nicht den vollständigen Code schreiben, aber man sollte ein Intervall, wie diese ein:

var time = 70; // Time in seconds, e.g. this one is one minute and 10 seconds 
var reached = false; 

var interval = setInterval(function(){ 
    if(player.getCurrentTime() >= time && !reached) { 
     clearInterval(interval); 
     reached = true; 
     timeReached(); 
    } 
},1000); 

function timeReached() { 
    // Do what you have to 
} 
+0

erreicht ist sinnlos, außer dieser Abfrage ist. Es löst nicht einmal das ursprüngliche Problem. Eine Sekunde ist eine ziemlich lange Zeit, aber trotzdem, wenn ich das gewünschte Ergebnis hätte, hätte ich nicht gefragt. Danke für den Versuch. –

+1

Dieser Code ruft 'timeReached()' auf, sobald das Video die angegebene Anzahl an Sekunden ('time') erreicht hat. 'reached' wird verwendet, damit die Callback-Funktion nicht mehr als einmal ausgeführt wird. Sie können sie einfach entfernen. 'player.getCurrentTime()' wird jede Sekunde aktualisiert, also ist eine Sekunde nicht zu viel noch zu wenig. Es tut mir leid, Sie enttäuschen zu müssen. Könnten Sie näher erläutern, was Sie erreichen möchten? –

1

Sie können diese Javascript wrapper for the YouTube player API verwenden.

Die API bietet eine sehr einfache Ereignisbehandlung. Beispiel:

youtubePlayer.at('5000', function() { 
    alert("You're five seconds into this Youtube clip"); 
}); 
+0

Es wirft: Uncaught TypeError: youtubePlayer.at ist keine Funktion. können Sie bitte auf die Dokumentation verweisen –

Verwandte Themen