<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          js獲取video任意時間的畫面截圖

          2019-4-15    seo達人

          如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

          首先就是要把視頻加載出來,然后使用canvas.getContext(‘2d’).drawImage(videoElement, 0, 0, canvas.width, canvas.height);獲取到當前視頻時間的截圖,需要不同時間的video視頻圖,設置video的currentTime(單位秒),然后videoElement這個對象信息會實時更新。

          如果是視頻是在阿里云OSS上就更方便了,poster=“http://a-image-demo.oss-cn-qingdao.aliyuncs.com/demo.mp4?x-oss-process=video/snapshot,t_6000,m_fast”

          如果是要獲取上傳本地視頻預覽圖,可采用下面的方法,但有兼容性問題,目前測試移動端安卓機只有Chrome瀏覽器支持,微信和QQ瀏覽器都無法響應本地視頻的canplay事件。

          <div contenteditable="true" id="in-box" style="width:1000px;margin: 20px auto;"></div>
          <div style="width:1000px;margin: 20px auto;">        
             <input type="file" name="" accept="video/*" id="upload-ipt">
             <div class="review" id="out-box"></div>
          </div>

          function getVideoImage() {
              var obj_file = document.getElementById("upload-ipt");
              var file = obj_file.files[0];
              var blob = new Blob([file]), // 文件轉化成二進制文件
                  url = URL.createObjectURL(blob); //轉化成url
              if (file && /video/g.test(file.type)) {
                  var $video = $('<div><video controls src="' + url + '"></video></div><div>&nbsp;</div>');
                  //后面加一個空格div是為了解決在富文本中按Backspace時刪除無反應的問題
                  $('#in-box').html($video);
                  var videoElement = $("video")[0];
                  videoElement.addEventListener("canplay", function (_event) {
                      var canvas = document.createElement("canvas");                    
                      canvas.width = videoElement.videoWidth;
                      canvas.height = videoElement.videoHeight;
                      console.log(videoElement.videoWidth)
                      canvas.getContext('2d').drawImage(videoElement, 0, 0, canvas.width, canvas.height);
                      var img = document.createElement("img");
                      img.src = canvas.toDataURL("image/png");
                      $("#out-box").html(img);
                      URL.revokeObjectURL(this.src); // 釋放createObjectURL創建的對象
                      console.log("loadedmetadata")
                  });
              }else{
                  alert("請上傳一個視頻文件!");
                  obj_file.value = ""
              }
          };
          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務。

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合