Ich benötige HTML5-Video, um an einem bestimmten Punkt zu beginnen. Nehmen wir zum Zeitpunkt 50 Sekunden an.
Ich habe es versucht, aber es funktioniert nicht wie erwartet. Gibt es etwas, was ich falsch mache?
Hier ist der Code:
<video id="vid1" width="640" height="360">
<source src="file.webm" type="video/webm" />
Your browser does not support the video tag.
</video>
<script>
document.getElementById('vid1').currentTime = 50;
</script>
Wenn die Seite geladen wird, beginnt sie gerade von vorne zu spielen. Wenn ich dies jedoch während der Wiedergabe wie nach einiger Zeit aufrufe, funktioniert es einwandfrei. Fehlt mir etwas?
javascript
html5-video
Johnydep
quelle
quelle
Antworten:
Sie müssen warten, bis der Browser die Dauer des Videos kennt, bevor Sie nach einer bestimmten Zeit suchen können. Ich denke, Sie möchten auf das Ereignis 'loadmetadata' ungefähr so warten:
quelle
Sie können direkt mit dem URI für Medienfragmente verknüpfen. Ändern Sie einfach den Dateinamen in file.webm # t = 50
Hier ist ein Beispiel
Das ist ziemlich cool, man kann alle möglichen Dinge tun. Ich kenne den aktuellen Stand der Browserunterstützung jedoch nicht.
quelle
OHNE JAVASCRIPT ZU VERWENDEN
Fügen Sie einfach
#t=[(start_time), (end_time)]
am Ende Ihrer Medien-URL hinzu. Der einzige Rückschlag (wenn Sie es so sehen möchten) ist, dass Sie wissen müssen, wie lange Ihr Video dauert, um die Endzeit anzuzeigen. Beispiel:Hinweise: Wird im IE nicht unterstützt
quelle
Passen Sie die Start- und Endzeit des Videos an, wenn Sie das Video-Tag in HTML5 verwenden.
http://www.yoursite.com/yourfolder/yourfile.mp4#t=5,15
Wobei links vom Komma die Startzeit in Sekunden ist, rechts vom Komma die Endzeit in Sekunden. Lassen Sie das Komma und die Endzeit fallen, um nur die Startzeit zu beeinflussen.
quelle
Auf Safari Mac für eine HLS-Quelle musste ich das geladene Datenereignis anstelle des Metadatenereignisses verwenden.
quelle
Die Verwendung eines
#t=10,20
Fragments hat bei mir funktioniert.quelle