canvas截取视频当前播放截图

  function captureVideoFrame() {
    const videoObj = document.getElementById("video_html5_api");// video.js video的id
    const canvas = document.createElement("canvas");

    canvas.width = videoObj.videoWidth;// 获取视频的宽高
    canvas.height = videoObj.videoHeight;
    canvas
      .getContext("2d")
      .drawImage(videoObj, 0, 0, canvas.width, canvas.height);

    const DATAURI = canvas.toDataURL(`image/png`);
    const data = DATAURI.split(",")[1];
    const mimeType = DATAURI.split(";")[0].slice(5);

    const bytes = window.atob(data);
    const buf = new ArrayBuffer(bytes.length);
    const arr = new Uint8Array(buf);

    for (let i = 0; i < bytes.length; i += 1) {
      arr[i] = bytes.charCodeAt(i);
    }

    const BLOB = new Blob([arr], { type: mimeType });
    return { blob: BLOB, dataUri: DATAURI };// 取dataUri就可展示图片<img src={dataUri} />
  }

注:这种方法只能取到当前视频播放点的截图,如需截取其他时间图片请将视频跳转到该时间点,再进行截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值