-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvideocontrols.js
68 lines (64 loc) · 2.26 KB
/
videocontrols.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
document.addEventListener("keydown", function (event) {
if (event.code === "Space") {
var activeElement = document.activeElement.tagName.toLowerCase();
if (activeElement !== "input" && activeElement !== "textarea") {
event.preventDefault();
togglePlayPause();
}
}
});
function togglePlayPause() {
if (video.paused) {
video.play();
} else {
video.pause();
}
}
function setPlaybackSpeed() {
var video = document.getElementById("video");
var speed = document.getElementById("speedInput").value;
video.playbackRate = parseFloat(speed);
printLog("Playback speed: " + video.playbackRate);
}
function updateVolumeFromSlider() {
var volumeSlider = document.getElementById("volumeSlider");
var volumeInput = document.getElementById("volumeInput");
var volumeValue = document.getElementById("volumeValue");
var volume = volumeSlider.value / 100;
video.volume = volume;
volumeInput.value = volumeSlider.value;
volumeValue.textContent = volumeSlider.value;
printLog("Volume set to: " + video.volume);
}
function updateVolumeFromInput() {
var volumeInput = document.getElementById("volumeInput");
var volumeSlider = document.getElementById("volumeSlider");
var volumeValue = document.getElementById("volumeValue");
var volume = volumeInput.value;
if (volume >= 0 && volume <= 100) {
video.volume = volume / 100;
volumeSlider.value = volume;
volumeValue.textContent = volume;
printLog("Volume set to: " + video.volume);
}
}
document.addEventListener('keydown', function(event) {
const activeElement = document.activeElement;
if (activeElement.tagName !== 'INPUT' && activeElement.tagName !== 'TEXTAREA') {
switch (event.key) {
case 'ArrowLeft': // rewind 5 seconds
event.preventDefault();
video.currentTime = Math.max(0, video.currentTime - 5);
break;
case 'ArrowRight': // fast forward 5 seconds
event.preventDefault();
video.currentTime = Math.min(video.duration, video.currentTime + 5);
break;
case '0':
event.preventDefault();
video.currentTime = 0;
video.play();
break;
}
}
});