diff options
-rw-r--r-- | web/script/player/mod.ts | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/web/script/player/mod.ts b/web/script/player/mod.ts index 0dc5d2d..77e8346 100644 --- a/web/script/player/mod.ts +++ b/web/script/player/mod.ts @@ -46,10 +46,24 @@ function initialize_player(el: HTMLElement, node_id: string) { const idle_inhibit = new OVar(false) const sync_state = new OVar<Playersync | undefined>(undefined) + let mute_saved_volume = 1; + const toggle_mute = () => { + if (player.volume.value == 0) { + logger.log("Unmuted."); + player.volume.value = mute_saved_volume + } + else { + logger.log("Muted."); + mute_saved_volume = player.volume.value + player.volume.value = 0. + } + } const toggle_playing = () => player.playing.value ? player.pause() : player.play() const pri_map = (v: number) => (v / player.duration.value * 100) + "%" + + let pri_current: HTMLElement; let pri: HTMLElement; @@ -223,6 +237,9 @@ function initialize_player(el: HTMLElement, node_id: string) { const p = (ev.clientX - r.left) / (r.right - r.left) player.seek(p * player.duration.value) }) + + + document.body.addEventListener("keydown", k => { if (k.ctrlKey || k.altKey || k.metaKey) return if (k.code == "Period") player.pause(), player.frame_forward() @@ -232,6 +249,7 @@ function initialize_player(el: HTMLElement, node_id: string) { else if (k.code == "KeyQ") window.history.back() else if (k.code == "KeyS") screenshot_video(player.video) else if (k.code == "KeyJ") step_track_kind("subtitles") + else if (k.code == "KeyM") toggle_mute() else if (k.key == "#") step_track_kind("audio") else if (k.key == "_") step_track_kind("video") else if (k.code == "KeyV") show_stats.value = !show_stats.value |