• js录制视频并保存


    使用webAPI录制视频

    经测试, 只在谷歌和火狐浏览器里起效。

    代码:

    const streamVideo = document.querySelector('.stream')
    const playVideo = document.querySelector('.play');
    let chunk;
    const download = document.querySelector('#download');
    let recorder;
    let mediaStream;
    document.querySelector('.start').addEventListener('click', start);
    document.querySelector('.end').addEventListener('click', end);
    document.querySelector('.play-video').addEventListener('click', play);
    
    // MediaRecorder 测试
    const constraints = {
      audio: false,
      video: true,
    };
    
    function start() {
      navigator.mediaDevices.getUserMedia(constraints)
        .then(stream => {
          mediaStream = stream;
          streamVideo.srcObject = stream;
          streamVideo.play();
          recorder = new MediaRecorder(stream);
          recorder.ondataavailable = e => {
            chunk = e.data;
            download.href = URL.createObjectURL(chunk);
          };
          recorder.start();
        })
    }
    
    function end() {
      streamVideo.pause();
      recorder.stop();
      mediaStream.getTracks().forEach(track => {
        track.stop();
      });
    }
    
    function play() {
      playVideo.src = URL.createObjectURL(chunk);
      playVideo.play();
    }
    

    完整代码;
    在线演示, 使用谷歌或火狐浏览器打开

  • 相关阅读:
    GLSL
    c++ 的垃圾收集(garbage collector
    ZZ 红黑树,并非想象中的那么复杂
    【转载】我心目中的android机器档次
    代码优化
    qqww
    solve Ax+By+C=0
    the c10k problem
    标 题: 腾讯面试题目(PHP程序员)
    zz 软件开发流程工具一览
  • 原文地址:https://www.cnblogs.com/scarecrowlxb/p/9573976.html
Copyright © 2020-2023  润新知