2016-05-06 5 views
2

Ich möchte durch Benutzer die currentTime mit gegebenen Zahl aktualisierenHTML 5 Video-Player-Update current mit bestimmten Anzahl

Zum Beispiel habe ich Video mit 18,20 Mins von Video, wenn der Benutzer gibt 1,46 als Eingabe sollte das Video abspielen von 1.46 Min, wenn Benutzer 4.56Mins gibt es aus 4.56Mins spielt

Was ich versuche, ist die gebotenen Minuten in Zahl konvertieren, aber ich denke, es ist falsch

function minsToNumber(d) { 
     d = Number(d); 
     var h = Math.floor(d/3600); 
     var m = Math.floor(d % 3600/60); 
     var s = Math.floor(d % 3600 % 60); 
     return ((h > 0 ? h + "." + (m < 10 ? "0" : "") : "") + m + "." + (s < 10 ? "0" : "") + s); 
    } 

irgendein korrekte Berechnung geben kann, zu tun Dies ?

+0

'var split = d.split ('.'); var Zeit = Anzahl (split [0]) * 60 + Anzahl (split [1]) ' – Rayon

Antwort

2

Die HTMLMediaElement.currentTime-Eigenschaft gibt die aktuelle Wiedergabezeit in Sekunden an. Wenn Sie diesen Wert einstellen, sucht das Medium die neue Zeit.

source

Wenn Sie also 4 Minuten 55 Sekunden, müssen Sie diesen Wert verwenden: 4 * 60 + 55 = 295

var video = document.getElementById('video'); 
video.currentTime = 295; // seconds 

komplettes Beispiel: (in Partnerschaft erstellt mit @Kaiido)

var toSeconds = function(time) { 

    time = ('' + time).split('.'); 

    return +time[0] * 60 + +time[1]; 
}; 

toSeconds('4.55'); // 295 
toSeconds(4.55); // 295 
+0

es sagt Split ist keine Funktion –

+0

Wie haben Sie meine Funktion aufrufen? 'toSeconds ('4.55')' oder 'toSeconds (4.55)'? Sie müssen einen String-Parameter übergeben, keine Zahl. –

+0

Yup leid, es war 'toSeconds (4,55)'. Jetzt seine Arbeits :) –