mirror of
https://codeberg.org/ashley/poke
synced 2025-05-30 02:59:43 +00:00
Update css/player-base.js
This commit is contained in:
parent
0654c381c7
commit
07490ec727
@ -20,7 +20,6 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
const videoSrc = Array.isArray(vidSrcObj) ? vidSrcObj[0].src : vidSrcObj;
|
const videoSrc = Array.isArray(vidSrcObj) ? vidSrcObj[0].src : vidSrcObj;
|
||||||
|
|
||||||
let audioReady = false, videoReady = false;
|
let audioReady = false, videoReady = false;
|
||||||
let audioRetried = false, videoRetried = false;
|
|
||||||
let syncInterval = null;
|
let syncInterval = null;
|
||||||
|
|
||||||
// pauses and syncs the video when the seek is finished :3
|
// pauses and syncs the video when the seek is finished :3
|
||||||
@ -98,45 +97,65 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
navigator.mediaSession.setActionHandler('play', () => {
|
navigator.mediaSession.setActionHandler('play', () => {
|
||||||
video.play();
|
video.play(); audio.play();
|
||||||
audio.play();
|
|
||||||
});
|
});
|
||||||
navigator.mediaSession.setActionHandler('pause', () => {
|
navigator.mediaSession.setActionHandler('pause', () => {
|
||||||
video.pause();
|
video.pause(); audio.pause();
|
||||||
audio.pause();
|
|
||||||
});
|
});
|
||||||
navigator.mediaSession.setActionHandler('seekbackward', (details) => {
|
navigator.mediaSession.setActionHandler('seekbackward', ({ seekOffset }) => {
|
||||||
const skip = details.seekOffset || 10;
|
const skip = seekOffset || 10;
|
||||||
video.currentTime(video.currentTime() - skip);
|
video.currentTime(video.currentTime() - skip);
|
||||||
audio.currentTime -= skip;
|
audio.currentTime -= skip;
|
||||||
});
|
});
|
||||||
navigator.mediaSession.setActionHandler('seekforward', (details) => {
|
navigator.mediaSession.setActionHandler('seekforward', ({ seekOffset }) => {
|
||||||
const skip = details.seekOffset || 10;
|
const skip = seekOffset || 10;
|
||||||
video.currentTime(video.currentTime() + skip);
|
video.currentTime(video.currentTime() + skip);
|
||||||
audio.currentTime += skip;
|
audio.currentTime += skip;
|
||||||
});
|
});
|
||||||
navigator.mediaSession.setActionHandler('seekto', (details) => {
|
navigator.mediaSession.setActionHandler('seekto', ({ seekTime, fastSeek }) => {
|
||||||
if (details.fastSeek && 'fastSeek' in audio) {
|
if (fastSeek && 'fastSeek' in audio) audio.fastSeek(seekTime);
|
||||||
audio.fastSeek(details.seekTime);
|
else audio.currentTime = seekTime;
|
||||||
} else {
|
video.currentTime(seekTime);
|
||||||
audio.currentTime = details.seekTime;
|
|
||||||
}
|
|
||||||
video.currentTime(details.seekTime);
|
|
||||||
});
|
});
|
||||||
navigator.mediaSession.setActionHandler('stop', () => {
|
navigator.mediaSession.setActionHandler('stop', () => {
|
||||||
video.pause();
|
video.pause(); audio.pause();
|
||||||
audio.pause();
|
video.currentTime(0); audio.currentTime = 0;
|
||||||
video.currentTime(0);
|
|
||||||
audio.currentTime = 0;
|
|
||||||
clearSyncLoop();
|
clearSyncLoop();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ** DESKTOP MEDIA-KEY FALLBACK **
|
||||||
|
document.addEventListener('keydown', e => {
|
||||||
|
switch (e.code) {
|
||||||
|
case 'AudioPlay':
|
||||||
|
case 'MediaPlayPause':
|
||||||
|
if (video.paused()) { video.play(); audio.play(); }
|
||||||
|
else { video.pause(); audio.pause(); }
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'AudioPause':
|
||||||
|
video.pause(); audio.pause();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'AudioNext':
|
||||||
|
case 'MediaTrackNext':
|
||||||
|
const tFwd = video.currentTime() + 10;
|
||||||
|
video.currentTime(tFwd); audio.currentTime += 10;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'AudioPrevious':
|
||||||
|
case 'MediaTrackPrevious':
|
||||||
|
const tBwd = video.currentTime() - 10;
|
||||||
|
video.currentTime(tBwd); audio.currentTime -= 10;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (qua !== "medium") {
|
if (qua !== "medium") {
|
||||||
// attach retry & ready markers
|
// attach retry & ready markers
|
||||||
attachRetry(audio, audioSrc, () => { audioReady = true; });
|
attachRetry(audio, audioSrc, () => { audioReady = true; });
|
||||||
attachRetry(video.el(), videoSrc, () => { videoReady = true; }); // video.el() gives the HTMLVideoElement
|
attachRetry(video.tech().el(), videoSrc, () => { videoReady = true; });
|
||||||
|
|
||||||
// Sync when playback starts
|
// Sync when playback starts
|
||||||
video.on('play', () => {
|
video.on('play', () => {
|
||||||
@ -197,6 +216,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// hai!! if ur asking why are they here - its for smth in the future!!!!!!
|
// hai!! if ur asking why are they here - its for smth in the future!!!!!!
|
||||||
|
|
||||||
const FORMATS = {
|
const FORMATS = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user