mirror of
https://gitlab.com/futo-org/fcast.git
synced 2025-06-24 21:25:23 +00:00
Fixed duration being null in some cases.
This commit is contained in:
parent
6f90cf7bb6
commit
d9a1475d9d
1 changed files with 32 additions and 20 deletions
|
@ -22,24 +22,40 @@ const player = videojs("video-player", options, function onPlayerReady() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
player.on("pause", () => { window.electronAPI.sendPlaybackUpdate({
|
sendPlaybackUpdate = (message) => {
|
||||||
generationTime: Date.now(),
|
const sanitizedMessage = {
|
||||||
|
generationTime: Date.now(),
|
||||||
|
time: message.time ? message.time : 0,
|
||||||
|
duration: message.duration && isFinite(message.duration) ? message.duration : 0,
|
||||||
|
state: message.state,
|
||||||
|
speed: message.speed ? message.speed : 1
|
||||||
|
};
|
||||||
|
|
||||||
|
window.electronAPI.sendPlaybackUpdate(sanitizedMessage);
|
||||||
|
};
|
||||||
|
|
||||||
|
player.on("pause", () => { sendPlaybackUpdate({
|
||||||
time: player.currentTime(),
|
time: player.currentTime(),
|
||||||
duration: player.duration(),
|
duration: player.duration(),
|
||||||
state: 2,
|
state: 2,
|
||||||
speed: player.playbackRate()
|
speed: player.playbackRate()
|
||||||
})});
|
})});
|
||||||
|
|
||||||
player.on("play", () => { window.electronAPI.sendPlaybackUpdate({
|
player.on("play", () => { sendPlaybackUpdate({
|
||||||
generationTime: Date.now(),
|
|
||||||
time: player.currentTime(),
|
time: player.currentTime(),
|
||||||
duration: player.duration(),
|
duration: player.duration(),
|
||||||
state: 1,
|
state: 1,
|
||||||
speed: player.playbackRate()
|
speed: player.playbackRate()
|
||||||
})});
|
})});
|
||||||
|
|
||||||
player.on("seeked", () => { window.electronAPI.sendPlaybackUpdate({
|
player.on("seeked", () => { sendPlaybackUpdate({
|
||||||
generationTime: Date.now(),
|
time: player.currentTime(),
|
||||||
|
duration: player.duration(),
|
||||||
|
state: player.paused() ? 2 : 1,
|
||||||
|
speed: player.playbackRate()
|
||||||
|
})});
|
||||||
|
|
||||||
|
player.on("ratechange", () => { sendPlaybackUpdate({
|
||||||
time: player.currentTime(),
|
time: player.currentTime(),
|
||||||
duration: player.duration(),
|
duration: player.duration(),
|
||||||
state: player.paused() ? 2 : 1,
|
state: player.paused() ? 2 : 1,
|
||||||
|
@ -51,14 +67,6 @@ player.on("volumechange", () => { window.electronAPI.sendVolumeUpdate({
|
||||||
volume: player.volume()
|
volume: player.volume()
|
||||||
})});
|
})});
|
||||||
|
|
||||||
player.on("ratechange", () => { window.electronAPI.sendPlaybackUpdate({
|
|
||||||
generationTime: Date.now(),
|
|
||||||
time: player.currentTime(),
|
|
||||||
duration: player.duration(),
|
|
||||||
state: player.paused() ? 2 : 1,
|
|
||||||
speed: player.playbackRate()
|
|
||||||
})});
|
|
||||||
|
|
||||||
player.on('error', () => { window.electronAPI.sendPlaybackError({
|
player.on('error', () => { window.electronAPI.sendPlaybackError({
|
||||||
message: JSON.stringify(player.error())
|
message: JSON.stringify(player.error())
|
||||||
})});
|
})});
|
||||||
|
@ -117,12 +125,11 @@ window.electronAPI.onSetSpeed((_event, value) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
window.electronAPI.sendPlaybackUpdate({
|
sendPlaybackUpdate({
|
||||||
generationTime: Date.now(),
|
time: player.currentTime(),
|
||||||
time: (player.currentTime()),
|
duration: player.duration(),
|
||||||
duration: (player.duration()),
|
|
||||||
state: player.paused() ? 2 : 1,
|
state: player.paused() ? 2 : 1,
|
||||||
speed: player.playbackRate()
|
speed: player.playbackRate(),
|
||||||
});
|
});
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
|
||||||
|
@ -177,7 +184,12 @@ console.log("KeyDown", event);
|
||||||
break;
|
break;
|
||||||
case 'ArrowRight':
|
case 'ArrowRight':
|
||||||
// Skip forward
|
// Skip forward
|
||||||
player.currentTime(Math.min(player.currentTime() + skipInterval, player.duration()));
|
const duration = player.duration();
|
||||||
|
if (duration) {
|
||||||
|
player.currentTime(Math.min(player.currentTime() + skipInterval, duration));
|
||||||
|
} else {
|
||||||
|
player.currentTime(player.currentTime());
|
||||||
|
}
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
break;
|
break;
|
||||||
case 'Space':
|
case 'Space':
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue