<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        js實現web調用攝像頭 js截取視頻畫面

        來源:懂視網 責編:小OO 時間:2020-11-27 21:58:21
        文檔

        js實現web調用攝像頭 js截取視頻畫面

        本文實例為大家分享了JS實現截取視頻畫面的具體代碼,供大家參考,具體內容如下:Html;<;p>;<;button onclick="openMedia()">;打開<;/button>;<;button onclick="closeMedia()">;關閉<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。
        推薦度:
        導讀本文實例為大家分享了JS實現截取視頻畫面的具體代碼,供大家參考,具體內容如下:Html;<;p>;<;button onclick="openMedia()">;打開<;/button>;<;button onclick="closeMedia()">;關閉<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。

        本文實例為大家分享了JS實現截取視頻畫面的具體代碼,供大家參考,具體內容如下

        Html

        <p>
         <button onclick="openMedia()">打開</button>
         <button onclick="closeMedia()">關閉</button>
         <button onclick="drawMedia()">截取</button>
        </p>
        <video id="video" class="bg"></video>
        <canvas id="qr-canvas"></canvas>

        Javascript

        <script type="text/javascript">
         var video = document.querySelector('video');
         var text = document.getElementById('text');
         var canvas1 = document.getElementById('qr-canvas');
         var context1 = canvas1.getContext('2d');
         var mediaStreamTrack;
        
         // 一堆兼容代碼
         window.URL = (window.URL || window.webkitURL || window.mozURL || window.msURL);
         if (navigator.mediaDevices === undefined) {
         navigator.mediaDevices = {};
         }
         if (navigator.mediaDevices.getUserMedia === undefined) {
         navigator.mediaDevices.getUserMedia = function(constraints) {
         var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
         if (!getUserMedia) {
         return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
         }
         return new Promise(function(resolve, reject) {
         getUserMedia.call(navigator, constraints, resolve, reject);
         });
         }
         } 
        
         //攝像頭調用配置
         var mediaOpts = {
         audio: false,
         video: true,
         video: { facingMode: "environment"} // 或者 "user"
         // video: { width: 1280, height: 720 }
         // video: { facingMode: { exact: "environment" } }// 或者 "user"
         }
        
         // 回調
         function successFunc(stream) {
         mediaStreamTrack = stream;
         video = document.querySelector('video');
         if ("srcObject" in video) {
         video.srcObject = stream
         } else {
         video.src = window.URL && window.URL.createObjectURL(stream) || stream
         }
         video.play();
         }
         function errorFunc(err) {
         alert(err.name);
         }
        
         // 正式啟動攝像頭
         function openMedia(){
         navigator.mediaDevices.getUserMedia(mediaOpts).then(successFunc).catch(errorFunc);
         }
        
         //關閉攝像頭
         function closeMedia(){
         mediaStreamTrack.getVideoTracks().forEach(function (track) {
         track.stop();
         context1.clearRect(0, 0,context1.width, context1.height);//清除畫布
         });
         }
        
         //截取視頻
         function drawMedia(){
         canvas1.setAttribute("width", video.videoWidth);
         canvas1.setAttribute("height", video.videoHeight);
         context1.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
         }
        
        </script>

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        js實現web調用攝像頭 js截取視頻畫面

        本文實例為大家分享了JS實現截取視頻畫面的具體代碼,供大家參考,具體內容如下:Html;<;p>;<;button onclick="openMedia()">;打開<;/button>;<;button onclick="closeMedia()">;關閉<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。
        推薦度:
        標簽: 視頻 攝像頭 使用
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 日本特黄特黄刺激大片免费| 国产精品爱啪在线线免费观看| 超清首页国产亚洲丝袜| 最新国产精品亚洲| 黄瓜视频高清在线看免费下载| 国产91在线|亚洲| 毛片在线看免费版| 亚洲成a人片在线观看天堂无码 | 亚洲人成色在线观看| 五月婷婷免费视频| 亚洲免费视频一区二区三区| 一级视频免费观看| 亚洲午夜久久久久久久久电影网| 大地资源在线资源免费观看| 亚洲AV日韩精品久久久久久| 亚洲精品视频免费在线观看| 亚洲国产模特在线播放| 成人网站免费观看| 无人视频免费观看免费视频| 亚洲精品午夜国产VA久久成人| 亚洲色精品三区二区一区| 女人毛片a级大学毛片免费| 国产精品亚洲AV三区| 国产av无码专区亚洲国产精品| 视频免费在线观看| 亚洲精品午夜久久久伊人| 成全视频在线观看免费高清动漫视频下载| 亚洲国产成人无码AV在线影院| 亚洲午夜精品第一区二区8050| 久久狠狠躁免费观看| 亚洲国产精品网站在线播放 | 最新国产精品亚洲| 亚洲日韩涩涩成人午夜私人影院| 老司机69精品成免费视频| 亚洲综合色区中文字幕| 亚洲日本中文字幕天堂网| 99re6热视频精品免费观看| 亚洲成a∨人片在无码2023| 亚洲午夜久久久久久久久久| 一个人免费观看www视频在线| 无码日韩人妻AV一区免费l|