Add hotkeys to slow and speed up video.

Closes #705
This commit is contained in:
FireMasterK 2022-01-12 05:15:32 +00:00
parent ea72e4c3ac
commit 2886ad966b
No known key found for this signature in database
GPG Key ID: 49451E4482CC5BCD

View File

@ -81,93 +81,103 @@ export default {
.then(hotkeys => { .then(hotkeys => {
this.hotkeys = hotkeys; this.hotkeys = hotkeys;
var self = this; var self = this;
hotkeys("f,m,j,k,l,c,space,up,down,left,right,0,1,2,3,4,5,6,7,8,9", function(e, handler) { hotkeys(
const videoEl = self.$refs.videoEl; "f,m,j,k,l,c,space,up,down,left,right,0,1,2,3,4,5,6,7,8,9,shift+,,shift+.",
switch (handler.key) { function (e, handler) {
case "f": const videoEl = self.$refs.videoEl;
self.$ui.getControls().toggleFullScreen(); console.log(handler.key);
e.preventDefault(); switch (handler.key) {
break; case "f":
case "m": self.$ui.getControls().toggleFullScreen();
videoEl.muted = !videoEl.muted; e.preventDefault();
e.preventDefault(); break;
break; case "m":
case "j": videoEl.muted = !videoEl.muted;
videoEl.currentTime = Math.max(videoEl.currentTime - 15, 0); e.preventDefault();
e.preventDefault(); break;
break; case "j":
case "l": videoEl.currentTime = Math.max(videoEl.currentTime - 15, 0);
videoEl.currentTime = videoEl.currentTime + 15; e.preventDefault();
e.preventDefault(); break;
break; case "l":
case "c": videoEl.currentTime = videoEl.currentTime + 15;
self.$player.setTextTrackVisibility(!self.$player.isTextTrackVisible()); e.preventDefault();
e.preventDefault(); break;
break; case "c":
case "k": self.$player.setTextTrackVisibility(!self.$player.isTextTrackVisible());
case "space": e.preventDefault();
if (videoEl.paused) videoEl.play(); break;
else videoEl.pause(); case "k":
e.preventDefault(); case "space":
break; if (videoEl.paused) videoEl.play();
case "up": else videoEl.pause();
videoEl.volume = Math.min(videoEl.volume + 0.05, 1); e.preventDefault();
e.preventDefault(); break;
break; case "up":
case "down": videoEl.volume = Math.min(videoEl.volume + 0.05, 1);
videoEl.volume = Math.max(videoEl.volume - 0.05, 0); e.preventDefault();
e.preventDefault(); break;
break; case "down":
case "left": videoEl.volume = Math.max(videoEl.volume - 0.05, 0);
videoEl.currentTime = Math.max(videoEl.currentTime - 5, 0); e.preventDefault();
e.preventDefault(); break;
break; case "left":
case "right": videoEl.currentTime = Math.max(videoEl.currentTime - 5, 0);
videoEl.currentTime = videoEl.currentTime + 5; e.preventDefault();
e.preventDefault(); break;
break; case "right":
case "0": videoEl.currentTime = videoEl.currentTime + 5;
videoEl.currentTime = 0; e.preventDefault();
e.preventDefault(); break;
break; case "0":
case "1": videoEl.currentTime = 0;
videoEl.currentTime = videoEl.duration * 0.1; e.preventDefault();
e.preventDefault(); break;
break; case "1":
case "2": videoEl.currentTime = videoEl.duration * 0.1;
videoEl.currentTime = videoEl.duration * 0.2; e.preventDefault();
e.preventDefault(); break;
break; case "2":
case "3": videoEl.currentTime = videoEl.duration * 0.2;
videoEl.currentTime = videoEl.duration * 0.3; e.preventDefault();
e.preventDefault(); break;
break; case "3":
case "4": videoEl.currentTime = videoEl.duration * 0.3;
videoEl.currentTime = videoEl.duration * 0.4; e.preventDefault();
e.preventDefault(); break;
break; case "4":
case "5": videoEl.currentTime = videoEl.duration * 0.4;
videoEl.currentTime = videoEl.duration * 0.5; e.preventDefault();
e.preventDefault(); break;
break; case "5":
case "6": videoEl.currentTime = videoEl.duration * 0.5;
videoEl.currentTime = videoEl.duration * 0.6; e.preventDefault();
e.preventDefault(); break;
break; case "6":
case "7": videoEl.currentTime = videoEl.duration * 0.6;
videoEl.currentTime = videoEl.duration * 0.7; e.preventDefault();
e.preventDefault(); break;
break; case "7":
case "8": videoEl.currentTime = videoEl.duration * 0.7;
videoEl.currentTime = videoEl.duration * 0.8; e.preventDefault();
e.preventDefault(); break;
break; case "8":
case "9": videoEl.currentTime = videoEl.duration * 0.8;
videoEl.currentTime = videoEl.duration * 0.9; e.preventDefault();
e.preventDefault(); break;
break; case "9":
} videoEl.currentTime = videoEl.duration * 0.9;
}); e.preventDefault();
break;
case "shift+,":
self.$player.trickPlay(Math.max(videoEl.playbackRate - 0.25, 0.25));
break;
case "shift+.":
self.$player.trickPlay(Math.min(videoEl.playbackRate + 0.25, 2));
break;
}
},
);
}); });
}, },
deactivated() { deactivated() {