DAILY DOCDAILY DOC
Rust
Node
Notes
Ubuntu
Leetcode
  • it-tools
  • excalidraw
  • linux-command
Rust
Node
Notes
Ubuntu
Leetcode
  • it-tools
  • excalidraw
  • linux-command
  • BFC 块级格式化上下文
  • Note
  • WebAssembly
  • public api
  • 位运算
  • bitwise operator
  • css实现隐藏效果
  • css snippets
  • 抖音点赞
  • js 相等判断
  • fetch ReadableStream
  • git
  • Github Actions 工作流
  • google search
  • RPC vs HTTP
  • gravatar
  • hhkb
  • Init project
  • input 文件上传
  • mac

    • Mac 使用技巧
    • alfred
    • mac shortcuts
    • shortcuts text edit
    • mac 修改host
  • 微前端
  • mock
  • nginx dump
  • nginx
  • NirCmd
  • npm
  • Operator Precedence
  • package.json
  • url query 解析
  • pnpm
  • JavaScript Precise countdown
  • react 模版
  • regexp
  • setup web development
  • telegram

    • telegram bot
  • timeFunction ease
  • 视频裁剪
  • vscode

    • vscode 高级指南
    • bracketPairs
    • jsconfig.json
    • vscode pipe into code
    • social project
    • vscode tasks
  • draggable resizable
  • windows 激活
  • 前端截图实现
  • 文本配音 富文本实现
  • 图片处理
  • 前端坐标
  • 定时任务
  • work efficient
  • 微信小程序动画实现方案
  • 排列组合
  • 数列
  • 语音驱动文字
  • 浏览器
  • 状态管理
  • 移动盒子
  • 移动端开发常用snippets
  • 设计模式
  • web performance

前端截图实现

codesandbox

React 组件实现

BUG: canvas 加载 video 元素的时候,视频可能还没加载到这里,加载后导出的视频帧不是当前需要的帧 不能实时的获取到当前加载到哪一帧了,不能够确定什么时候截取视频帧。通过定时器不能保证完全保证。 方案: 手动触发 video 标签的 play 事件,开始播放视频。并且监听 video 的 进度事件 progress。 timeupdate 事件

video 标签的 progress 事件中,如何获取到当前加载进度

在 video 标签的 progress 事件中,可以通过获取当前已经加载的字节数和视频总字节数来计算出当前加载的进度百分比。可以使用 video 标签的 buffered 属性获取已缓冲区域的 TimeRanges 对象,该对象包含多个缓冲区间,每个缓冲区间包含一个开始时间和一个结束时间。通过循环遍历 TimeRanges 对象中的每个缓冲区间,可以计算出当前已经加载的字节数和视频总字节数。例如:

Javascript
const video = document.querySelector('video');
video.addEventListener('progress', () => {
  const buffered = video.buffered;
  const total = video.duration;
  let loaded = 0;
  for (let i = 0; i < buffered.length; i++) {
    loaded += buffered.end(i) - buffered.start(i);
  }
  const percent = (loaded / total) * 100;
  console.log('Current loading progress: ' + percent + '%');
});
Last Updated:
Contributors: rosendo
Prev
windows 激活
Next
文本配音 富文本实现