Запускать видео HTML5 в определенной позиции при загрузке?
Мне нужно видео HTML5, чтобы начать в определенный момент. Скажем, время 50 секунд.
Я пытался, но это не работает, как ожидалось. я что-то не так делаю?
Вот код:
<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>
Когда страница загружается, она просто начинает играть с начала.
Однако, если я вызываю это во время воспроизведения, как через некоторое время, он работает нормально.
Есть ли что-то, что я пропускаю?
Ответы
Ответ 1
Вам нужно подождать, пока браузер не узнает продолжительность видео, прежде чем вы сможете найти определенное время. Итак, я думаю, вы хотите дождаться события "загружаемого метаданных" примерно так:
document.getElementById('vid1').addEventListener('loadedmetadata', function() {
this.currentTime = 50;
}, false);
Ответ 2
Вы можете напрямую связать с URI медиафайлов, просто измените имя файла на file.webm # t = 50
Вот пример
Это довольно круто, вы можете делать всевозможные вещи. Но я не знаю текущее состояние поддержки браузера.
Ответ 3
БЕЗ ИСПОЛЬЗОВАНИЯ JAVASCRIPT
Просто добавьте #t=[(start_time), (end_time)]
в конец вашего медиа-URL. Единственное препятствие (если вы хотите это увидеть) - вам нужно знать, как долго ваше видео будет указывать время окончания.
Пример:
<video>
<source src="splash.mp4#t=10,20" type="video/mp4">
</video>
Примечания: Не поддерживается в IE
Ответ 4
настроить время начала и окончания видео при использовании тега видео в html5;
http://www.yoursite.com/yourfolder/yourfile.mp4#t=5,15
где левая часть запятой - время начала в секундах, правая запятая - время окончания в секундах.
отбросить запятую и время окончания, чтобы запустить только время начала.
Ответ 5
Использование фрагмента #t=10,20
работало для меня.
Ответ 6
В Safari Mac для источника HLS мне нужно было использовать событие loadeddata вместо события метаданных.