+ URL timestamp support
This commit is contained in:
parent
58685e9b2e
commit
04e0e60cbc
|
@ -8,6 +8,18 @@ window.addEventListener('DOMContentLoaded', (event) => {
|
|||
const audio = document.getElementById('player_audio');
|
||||
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;
|
||||
|
||||
formats = JSON.parse(document.getElementById('yt_formats').innerText)
|
||||
|
@ -196,9 +208,18 @@ window.addEventListener('DOMContentLoaded', (event) => {
|
|||
localStorage.removeItem("audioStream");
|
||||
}
|
||||
|
||||
function seekRelative(v) {
|
||||
function seekAbsolute(t) {
|
||||
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) {
|
||||
audio.pause();
|
||||
audio.currentTime=video.currentTime;
|
||||
|
@ -345,6 +366,8 @@ window.addEventListener('DOMContentLoaded', (event) => {
|
|||
document.querySelector('.html5-video-container').addEventListener('mousemove', (e) => handleMouse("frame", e));
|
||||
controlbar.addEventListener('mousemove', (e) => handleMouse("controls", e));
|
||||
|
||||
seekAbsolute(startTime);
|
||||
|
||||
if(localStorage.getItem("autoplay") == "true") {
|
||||
toggleVideo(true);
|
||||
document.querySelector('#autoplayInput').checked = true;
|
||||
|
|
Loading…
Reference in a new issue