Potrzebuję wideo HTML5, aby zacząć w pewnym momencie. Powiedzmy, że 50 sekund naprzód.
Próbowałem, ale nie działa zgodnie z oczekiwaniami. czy jest coś, co robię źle?
Oto kod:
<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>
Po załadowaniu strony po prostu zaczyna się odtwarzać od początku. Jeśli jednak wezmę to podczas odtwarzania, jak po pewnym czasie, działa dobrze. Czy jest coś, czego mi brakuje?
javascript
html5-video
Johnydep
źródło
źródło
Odpowiedzi:
Musisz poczekać, aż przeglądarka pozna czas trwania wideo, zanim będziesz mógł wyszukać określony czas. Więc myślę, że chcesz poczekać na zdarzenie „załadowane metadane”, mniej więcej tak:
document.getElementById('vid1').addEventListener('loadedmetadata', function() { this.currentTime = 50; }, false);
źródło
Możesz połączyć się bezpośrednio z URI fragmentów multimediów , po prostu zmień nazwę pliku na file.webm # t = 50
Oto przykład
To jest całkiem fajne, możesz robić różne rzeczy. Ale nie znam aktualnego stanu obsługi przeglądarek.
źródło
#t=17.79
^ _ ^BEZ KORZYSTANIA Z JAVASCRIPT
Po prostu dodaj
#t=[(start_time), (end_time)]
na końcu adresu URL multimediów. Jedyną przeszkodą (jeśli chcesz to zobaczyć w ten sposób) jest to, że musisz wiedzieć, jak długo Twój film ma wskazywać czas zakończenia. Przykład:<video> <source src="splash.mp4#t=10,20" type="video/mp4"> </video>
Uwagi: nieobsługiwane w IE
źródło
dostosuj czas rozpoczęcia i zakończenia wideo podczas używania tagu wideo w html5;
http://www.yoursite.com/yourfolder/yourfile.mp4#t=5,15
gdzie po lewej stronie przecinka czas rozpoczęcia w sekundach, po prawej stronie przecinek czas zakończenia w sekundach. upuść przecinek i czas zakończenia, aby wpłynąć tylko na czas rozpoczęcia.
źródło
W Safari Mac dla źródła HLS potrzebowałem użyć zdarzenia loaddata zamiast zdarzenia metadata.
źródło
U
#t=10,20
mnie zadziałało użycie fragmentu.źródło