2017-07-10 2 views
-1

Ich möchte das Video so steuern, dass es mit dem genauen Zeitwert beginnt, wie im JS-Code unten angegeben.HTML5 Videoplayer startet von falscher Zeit

Aber der Spieler tut nicht wie erwartet. Zum Beispiel, wenn ich vid.currentTime = 1.2 mache, startet der Spieler von 00:00 sek. Oder wenn ich 22 mache, startet der Player von der Timeline Timeline im Glossar erklärt 00:21 Sek.

Ich bin mir nicht sicher, weil es nicht möglich ist, die genaue Zeitleiste von mp4 (Codec-Herausforderung) zu bekommen?

Danke!

var vid = document.getElementById("video1"); 
 
vid.currentTime = 2; 
 
vid.play();
<video id="video1" width="320" height="240"> 
 
    <source src="http://example.com/movie.mp4" type="video/mp4" /> 
 
</video>

+0

ich unter ähnlichen Bedingungen der Code in einer [Geige] repliziert haben (https://jsfiddle.net/CrisMVP3200/sua0xp9n/) und bei Für mich ist das von Ihnen angegebene Problem nicht vorhanden (ich habe die Steuereigenschaft nur hinzugefügt, um die tatsächliche Zeit anzuzeigen). Fehle ich etwas? – CrisMVP3200

Antwort

0

Ich glaube, Sie für den Browser warten soll, die Metadaten und dann lösen die Veranstaltung auf Metadaten Laden zu laden. Lassen Sie sagen, wenn Sie das Video 21 Sekunden vorwärts starten wollen:

document.getElementById('video1').addEventListener('loadedmetadata', function(){ 
this.currentTime = 21; 
}, false); 
+0

Ich glaube nicht, dass das der Grund ist. weil der Player bereits Inhalte abspielt, bevor ich auf Schaltflächen klicke, um den currentTime-Satz auszulösen. –

+0

ja weil wegen vid.play(); Die Zeile vid.currentTime konnte nicht interpretiert werden, da die Metadaten nicht geladen wurden und das Video abgespielt wurde. Also lege this.play(); nach this.currentTime im Metadaten-Ereignis-Listener. Ich hoffe, dass es funktionieren wird . –

Verwandte Themen