创建视频截图 或者保存到本地

Rainy 2021-5-31 956

//获取已经创建好的video标签属性
      var video = document.getElementById("local_stream_s").getElementsByTagName("video")[0]
      //创建个画布
      var canvas = document.createElement('canvas'); 
      canvas.width = 90; 
      canvas.height = 90; 
      var ctx = canvas.getContext('2d'); 
      ctx.drawImage(video,0,0,canvas.width,canvas.height);
      var dataURI = canvas.toDataURL('image/jpeg'); //也可以使用'image / png'
      console.log(dataURI);
//保存到本地
this.downloadFileByBase64(dataURI)
      dataURLtoBlob(dataurl) {
          var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
              bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
          while (n--) {
              u8arr[n] = bstr.charCodeAt(n);
          }
          return new Blob([u8arr], { type: mime });
      },
      
      downloadFile(url,name='What\'s the fuvk'){
          var a = document.createElement("a")
          a.setAttribute("href",url)
          a.setAttribute("download",name)
          a.setAttribute("target","_blank")
          let clickEvent = document.createEvent("MouseEvents");
          clickEvent.initEvent("click", true, true);  
          a.dispatchEvent(clickEvent);
      },
      
      downloadFileByBase64(base64,name){
          var myBlob = this.dataURLtoBlob(base64)
          var myUrl = URL.createObjectURL(myBlob)
          this.downloadFile(myUrl,name)
      },
最新回复 (0)
返回
发新帖