← 全部文章

教程

HTML5 视频速度控制 —— 超过 2x,带键盘快捷键

内置视频播放器只给你最高 2x 的速度,仅此而已。有时你想要一节 2.75x 的讲座,或者一段 0.5x 的网络摄像头录像。一条 JustZix 规则给每个 HTML5 播放器加上键盘速度控制 —— YouTube、Vimeo、在线课程,什么都行。

为什么 2x 不是极限

<video> 元素有一个 playbackRate 属性,从 HTML 一侧没有上限 —— 是播放器的 UI 人为地把滑块限制在 2x。从代码里设置 playbackRate,你就完全绕过了那个滑块。

规则

URL 模式:一个视频网站(例如 *://*.youtube.com/*)或全局 *。规则的 JavaScript:

document.addEventListener('keydown', (e) => {
  if (/input|textarea/i.test(e.target.tagName)) return;
  const v = document.querySelector('video');
  if (!v) return;
  if (e.key === 'd') v.playbackRate += 0.25;
  if (e.key === 's') v.playbackRate = Math.max(0.25, v.playbackRate - 0.25);
  if (e.key === 'r') v.playbackRate = 1;
});

按键:D 加速 0.25x,S 减速,R 恢复到 1x。

它如何工作

扩展 —— 跳转与画中画

很容易加上方向键跳转和画中画:

if (e.key === 'ArrowRight') v.currentTime += 10;
if (e.key === 'ArrowLeft')  v.currentTime -= 10;
if (e.key === 'p') {
  document.pictureInPictureElement
    ? document.exitPictureInPicture()
    : v.requestPictureInPicture();
}

一个带滑块的变体 —— SLIDER 动作

比起按键你更喜欢滑块?在 JustZix 动作栏里创建一个 SLIDER 动作 —— 你拖动它,动作代码把 document.querySelector('video').playbackRate 设为滑块的值。速度在你拇指下,没有按键要记。

另见

安装 JustZix —— 按你的节奏看,而不是播放器的节奏。

为这篇文章评分

暂无评分 — 成为第一个。

自己动手试试

安装 JustZix,粘贴本文中的任意代码片段。两分钟,从零到一条在你所有设备上生效的规则。

获取 JustZix

功能 · 工作原理 · 示例 · 应用场景