国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

前端如何利用js開啟攝像頭和關(guān)閉攝像頭以及他的指示燈

這篇具有很好參考價(jià)值的文章主要介紹了前端如何利用js開啟攝像頭和關(guān)閉攝像頭以及他的指示燈。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

其實(shí)本文章主要想要講解的就是如何關(guān)閉攝像頭以及他的指示燈,因?yàn)檫@個(gè)事真的很讓我苦惱,而開啟攝像頭其實(shí)并沒有那么難,只需調(diào)用navigator.mediaDevices.getUserMedia方法就行,具體就不細(xì)講了,直接上代碼(HTML結(jié)構(gòu)就是一個(gè)video標(biāo)簽和兩個(gè)button按鈕,所以就只上js部分了)

 const video = document.querySelector('#video')
//開啟攝像頭按鈕
 const btn1 = document.querySelector('#btn1')
//關(guān)閉攝像頭按鈕
const btn2 = document.querySelector('#btn2')
let mediaStreamTrack = null

btn1.addEventListener('click', async () => {
                await navigator.mediaDevices.getUserMedia({ video: true })
                    .then((staream) => {
//這里保存下來stream對象只是為了后續(xù)關(guān)閉攝像頭的時(shí)候使用
                        mediaStreamTrack = stream
                        video.srcObject = staream
                    })
        })

開啟攝像頭之后,重點(diǎn)來了,我該如何關(guān)閉攝像頭以及他的指示燈呢!!!!

關(guān)閉攝像頭其實(shí)要用到我們之前保存的stream流對象,循環(huán)stream流對象的getVideoTracks()方法然后對里面每個(gè)內(nèi)容調(diào)用stop()方法就行,可能有人會疑惑,這里為什么要循環(huán)呢?循環(huán)的目的其實(shí)是為了把視頻和音頻一起停止,如果你沒有開啟音頻的話那就無需循環(huán)也可以,我這里是只開啟了視頻

btn2.addEventListener('click',() => {
            mediaStreamTrack.getVideoTracks().forEach(track => {
            track.stop()
        })
      })

寫完這個(gè)代碼你會發(fā)現(xiàn)video標(biāo)簽里面的內(nèi)容沒有了,是一個(gè)黑屏狀態(tài),但是你攝像頭旁邊的指示燈依然是亮著的,這是因?yàn)槟汴P(guān)了攝像頭,但沒有完全關(guān),雖然內(nèi)容沒了,其實(shí)還是一直在推送黑幀,初步判斷是因?yàn)閙ediaStreamTrack.getVideoTracks()返回的是一個(gè)新流(如果判斷錯(cuò)誤大家可以及時(shí)糾正),這個(gè)時(shí)候你可以加一串代碼,讓video的srcObject=null,這樣指示燈就關(guān)掉了

btn2.addEventListener('click',() => {
            mediaStreamTrack.getVideoTracks().forEach(track => {
            track.stop()
        })
        video.value.srcObject = null
      })

這是因?yàn)閺?qiáng)大的垃圾回收機(jī)制,哈哈哈,最后到這里結(jié)束文章來源地址http://www.zghlxwxcb.cn/news/detail-645833.html

到了這里,關(guān)于前端如何利用js開啟攝像頭和關(guān)閉攝像頭以及他的指示燈的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JetsonNano學(xué)習(xí)(四)OPENCV開啟CSI攝像頭

    JetsonNano學(xué)習(xí)(四)OPENCV開啟CSI攝像頭

    網(wǎng)上非常多的代碼打不開CSI攝像頭,但是使用 Python2 可以解決,根本原因在于OpenCV版本,Python2庫中的CV2版本高于Python3導(dǎo)致,通過更新Python3庫中的OpenCV即可解決該問題。 斷電安裝CSI攝像頭,注意排線線纜的方向和正反,安裝完成后上電開機(jī)。 如果是USB攝像頭,安裝有手就行

    2024年02月15日
    瀏覽(22)
  • 震撼來襲!(USB Camera,支持同時(shí)開啟多路攝像頭,支持旋轉(zhuǎn)、鏡像)

    震撼來襲!(USB Camera,支持同時(shí)開啟多路攝像頭,支持旋轉(zhuǎn)、鏡像)

    Android靈活實(shí)用的Android平臺UVC攝像頭實(shí)例,無需任何系統(tǒng)權(quán)限即可輕松打開您的uvc攝像頭( 支持多路攝像頭 )。 Feature 支持開啟多路攝像頭; 支持在Android 4.4~11開啟camera1、camera2和uvc camera; 支持預(yù)覽480p、720p、1080p等; 支持抓圖(.jpg)、視頻(.mp4/.h264/yuv)和音頻(pcm/mp3/aac) 支持旋

    2024年02月11日
    瀏覽(22)
  • 前端調(diào)用電腦攝像頭

    前端調(diào)用電腦攝像頭

    項(xiàng)目中需要前端調(diào)用,所以做了如下操作 先看一下效果吧 主要是基于vue3,通過canvas把畫面轉(zhuǎn)成base64的形式,然后是把base64轉(zhuǎn)成 file文件,最后調(diào)用了一下上傳接口 但是這個(gè)得開啟瀏覽器的攝像頭權(quán)限,不然會報(bào)錯(cuò) 以下是代碼 進(jìn)入頁面先調(diào)用一下攝像頭 拍照 轉(zhuǎn)base64 完整代

    2024年02月10日
    瀏覽(18)
  • js攝像頭動(dòng)態(tài)檢測

    js攝像頭動(dòng)態(tài)檢測

    利用攝像頭每一秒截圖一次圖像。然后計(jì)算2次圖像之間的相似度。 如果相似度低于98%就會報(bào)警。 原理是看了有一篇文章 首先降低圖片分辨率 然后使用指紋提取 在“平均哈希算法”中,若灰度圖的某個(gè)像素的灰度值大于平均值,則視為1,否則為0。把這部分信息組合起來就

    2024年02月09日
    瀏覽(18)
  • ubuntu利用usb_cam打開攝像頭

    ubuntu利用usb_cam打開攝像頭

    想要標(biāo)定多個(gè)相機(jī),首先得把相機(jī)打開吧,usb_cam是針對usb攝像頭的ros驅(qū)動(dòng)包,簡單來說就是得有這個(gè)功能包,才能在ros中把攝像頭打開。 首先打開終端,輸入: 這里melodic應(yīng)該根據(jù)自己Ubuntu系統(tǒng)進(jìn)行靈活變換,例如我使用的Ubuntu18.04,那么我對應(yīng)的就是melodic版本。 驅(qū)動(dòng)安裝

    2024年02月03日
    瀏覽(26)
  • windows利用ffmpeg采集攝像頭畫面,支持服務(wù)啟動(dòng),支持一鍵啟動(dòng)

    windows利用ffmpeg采集攝像頭畫面,支持服務(wù)啟動(dòng),支持一鍵啟動(dòng)

    1. 我們在windows 系統(tǒng)下采用ffmpeg去采集筆記本電腦攝像頭和麥克風(fēng)的時(shí)候需要先獲取攝像頭和麥克風(fēng)的信息 2. 因?yàn)槊颗_電腦攝像頭和麥克風(fēng)的信息不一樣,如果名稱不對會導(dǎo)致不能采集? bat腳本實(shí)現(xiàn),先去獲取攝像頭信息,篩選出攝像頭的信息,作為變量傳入到ffmpeg采集命令

    2024年02月13日
    瀏覽(23)
  • ??禂z像頭web3.3前端實(shí)現(xiàn)

    海康攝像頭web3.3前端實(shí)現(xiàn)

    ?上篇我發(fā)布了一篇文章,有一個(gè)刷新頁面攝像頭就消失的bug,這個(gè)代碼就是我改過以后得。 直接就放到組件里就行。要是不出來的話,可能是你們插件有問題??梢灾匦掳惭b一次插件。 template ? ? div class=\\\"chart-box\\\" ref=\\\"chartBox\\\" ? ? ? ? div class=\\\"chart-body\\\" ref=\\\"divPlugin\\\" id=\\\"divPlu

    2024年02月20日
    瀏覽(26)
  • 移動(dòng)端利用 input 標(biāo)簽調(diào)用手機(jī)攝像頭拍照,實(shí)現(xiàn)人臉驗(yàn)證的功能

    近期在做項(xiàng)目時(shí),有一個(gè)需求需要實(shí)現(xiàn)人臉識別功能,該功能的底層原理就是利用手機(jī)的拍照功能,獲取用戶的人臉圖片,然后調(diào)用公安部的圖像庫進(jìn)行逐一比對。實(shí)現(xiàn)這個(gè)功能只需要兩步,第一步就是獲取用戶人臉圖片;第二步就是將圖片傳給后端進(jìn)行人臉比對。由于現(xiàn)在

    2024年02月16日
    瀏覽(26)
  • c 攝像頭利用v4l2直接生成avi視頻(不利用ffmpeg)

    自定義avi結(jié)構(gòu)頭文件?,F(xiàn)在不能實(shí)時(shí)顯示攝像頭畫面,準(zhǔn)備參照fim(終端中顯示圖片),直接對顯示framebuffer操作,顯示視頻。不用qt等。 生成的視頻根據(jù)機(jī)子的性能不同,詁計(jì)要手動(dòng)調(diào)一下生成視頻的幀率。 播放: $ aplay ?musicdemo.wmv 錄音: $ arecord -c 2 -r 44100 -f S16_LE musicd

    2024年02月08日
    瀏覽(20)
  • SpringBoot+??低晹z像頭實(shí)現(xiàn)在前端的預(yù)覽

    SpringBoot+??低晹z像頭實(shí)現(xiàn)在前端的預(yù)覽

    本文是之前文章的一篇完善文,如果你是才接觸??低晹z像頭的二次開發(fā)請先閱讀入門篇 在實(shí)現(xiàn)攝像頭的預(yù)覽的時(shí)候需要搞懂什么是rtsp。 rtsp是一種實(shí)時(shí)流傳輸協(xié)議(Real Time Streaming Protocol,RTSP),主要使用TCP和UDP完成數(shù)據(jù)的傳輸。 1.1 了解海康威視r(shí)tsp的url規(guī)范 【老版本】

    2023年04月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包