+ URL timestamp support

This commit is contained in:
Dominika Liberda 2021-07-06 18:06:12 +00:00
parent 58685e9b2e
commit 04e0e60cbc

View file

@ -8,6 +8,18 @@ window.addEventListener('DOMContentLoaded', (event) => {
const audio = document.getElementById('player_audio'); const audio = document.getElementById('player_audio');
const movie = document.getElementById('movie_player'); const movie = document.getElementById('movie_player');
const searchParams = new URLSearchParams(window.location.search.slice(1))
let startTime = 0;
if (searchParams.get("t")) {
const [, hours, minutes, seconds] = /^(?:(?:([0-9]+)[h:])?(?:([0-9]+)[m:]))?([0-9]+)s?$/.exec(searchParams.get("t"));
if (hours) startTime = parseInt(hours, 10) * 3600;
if (minutes) startTime += parseInt(minutes, 10) * 60;
if (seconds) startTime += parseInt(seconds, 10);
}
console.log(startTime);
loopInput.checked = false; loopInput.checked = false;
formats = JSON.parse(document.getElementById('yt_formats').innerText) formats = JSON.parse(document.getElementById('yt_formats').innerText)
@ -196,9 +208,18 @@ window.addEventListener('DOMContentLoaded', (event) => {
localStorage.removeItem("audioStream"); localStorage.removeItem("audioStream");
} }
function seekRelative(v) { function seekAbsolute(t) {
video.pause(); video.pause();
video.currentTime=video.currentTime+v; video.currentTime=t;
if(audio) {
audio.pause();
audio.currentTime=t;
}
}
function seekRelative(t) {
video.pause();
video.currentTime=video.currentTime+t;
if(audio) { if(audio) {
audio.pause(); audio.pause();
audio.currentTime=video.currentTime; audio.currentTime=video.currentTime;
@ -345,6 +366,8 @@ window.addEventListener('DOMContentLoaded', (event) => {
document.querySelector('.html5-video-container').addEventListener('mousemove', (e) => handleMouse("frame", e)); document.querySelector('.html5-video-container').addEventListener('mousemove', (e) => handleMouse("frame", e));
controlbar.addEventListener('mousemove', (e) => handleMouse("controls", e)); controlbar.addEventListener('mousemove', (e) => handleMouse("controls", e));
seekAbsolute(startTime);
if(localStorage.getItem("autoplay") == "true") { if(localStorage.getItem("autoplay") == "true") {
toggleVideo(true); toggleVideo(true);
document.querySelector('#autoplayInput').checked = true; document.querySelector('#autoplayInput').checked = true;