最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)web調(diào)用攝像頭 js截取視頻畫面

 更新時間:2019年04月21日 10:24:58   作者:qq_26833853  
這篇文章主要為大家詳細(xì)介紹了JS web調(diào)用攝像頭,截取視頻畫面,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

Html

<p>
 <button onclick="openMedia()">打開</button>
 <button onclick="closeMedia()">關(guān)閉</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);
  });
 }
 } 

 //攝像頭調(diào)用配置
 var mediaOpts = {
 audio: false,
 video: true,
 video: { facingMode: "environment"} // 或者 "user"
 // video: { width: 1280, height: 720 }
 // video: { facingMode: { exact: "environment" } }// 或者 "user"
 }

 // 回調(diào)
 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);
 }

 //關(guān)閉攝像頭
 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>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript判斷按鈕被點擊的方法

    JavaScript判斷按鈕被點擊的方法

    javascript代碼判斷按鈕是否被點擊了在項目中經(jīng)常會遇到這個需求,今天小編抽點時間給大家分享一段代碼關(guān)于javascript判斷按鈕是否被點擊的方法,感興趣的朋友一起學(xué)習(xí)吧
    2015-12-12
  • webpack中使用Eslint的實現(xiàn)

    webpack中使用Eslint的實現(xiàn)

    本文主要介紹了webpack中使用Eslint的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 滾動條變色 隱藏滾動條與雙擊網(wǎng)頁自動滾屏顯示代碼

    滾動條變色 隱藏滾動條與雙擊網(wǎng)頁自動滾屏顯示代碼

    滾動條變色 隱藏滾動條與雙擊網(wǎng)頁自動滾屏顯示代碼
    2009-12-12
  • postcss安裝和使用示例詳解

    postcss安裝和使用示例詳解

    這篇文章主要介紹了postcss安裝和使用,通過這些深度集成,PostCSS不僅僅是一個簡單的CSS處理工具,而是一種貫穿整個前端開發(fā)流程的技術(shù)手段,大大提升了CSS開發(fā)效率和產(chǎn)出質(zhì)量,隨著前端社區(qū)的發(fā)展,PostCSS的功能和應(yīng)用場景也會更加豐富多元,需要的朋友可以參考下
    2024-03-03
  • 如何利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能

    如何利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能

    Web Speech API使你能夠?qū)⒄Z音數(shù)據(jù)合并到Web應(yīng)用程序中,SpeechSynthesisUtterance是HTML5中新增的API,用于將指定文字合成為對應(yīng)的語音,這篇文章主要介紹了利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能,需要的朋友可以參考下
    2024-06-06
  • 一文解決微信小程序button、input和image表單組件

    一文解決微信小程序button、input和image表單組件

    在微信小程序開發(fā)中,input?用來實現(xiàn)文本輸入,如輸入用戶名密碼等等,下面這篇文章主要給大家介紹了關(guān)于如何通過一文解決微信小程序button、input和image表單組件的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • JS實現(xiàn)TITLE懸停長久顯示效果完整示例

    JS實現(xiàn)TITLE懸停長久顯示效果完整示例

    這篇文章主要介紹了JS實現(xiàn)TITLE懸停長久顯示效果,結(jié)合完整實例形式分析了JavaScript鼠標(biāo)事件響應(yīng)及頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-02-02
  • js變量以及其作用域詳解

    js變量以及其作用域詳解

    Javascript和Java、C這些語言不同,它是一種無類型、弱檢測的語言。它對變量的定義并不需要聲明變量類型,我們只要通過賦值的形式,可以將各種類型的數(shù)據(jù)賦值給同一個變量
    2012-01-01
  • layer彈出層倒計時關(guān)閉的實現(xiàn)方法

    layer彈出層倒計時關(guān)閉的實現(xiàn)方法

    今天小編就為大家分享一篇layer彈出層倒計時關(guān)閉的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 用Webpack構(gòu)建Vue項目的實踐

    用Webpack構(gòu)建Vue項目的實踐

    這篇文章主要介紹了用Webpack構(gòu)建Vue項目的實踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

濮阳市| 大余县| 饶平县| 临洮县| 富阳市| 宁明县| 天气| 基隆市| 呼伦贝尔市| 河津市| 张家界市| 乌什县| 民和| 壤塘县| 和静县| 民丰县| 文昌市| 大庆市| 利川市| 金塔县| 长丰县| 横峰县| 双城市| 盘山县| 云南省| 华安县| 无棣县| 鲜城| 辰溪县| 海盐县| 聊城市| 宁夏| 共和县| 阿荣旗| 文昌市| 玉溪市| 安岳县| 泾川县| 亳州市| 永和县| 南京市|