在本教學中,我們將了解使用 JavaScript 開啟網路攝影機的過程。因此,這可以使用 WebRTC 來完成。 WebRTC 是網路即時通訊的縮寫形式。使用此對象,我們可以存取和捕獲用戶設備中可用的網路攝影機和麥克風設備。
如何存取網路攝影機?
我們可以使用 ECMAScript 物件 navigator.mediaDevices.getUserMedia(constraints) 存取使用者裝置網路攝影機和麥克風。
因此,getUserMedia() 函數預設會尋求使用者許可以使用您的網路攝影機。該函數傳回一個promise,一旦您按一下「確定」並授予權限,那麼該promise就會被觸發,並且它會在您的系統中啟用網路攝影機;否則,如果您不允許,那麼它還有一個catch 方法來關閉網路攝影機。
我們也可以將參數傳遞給函數 getUserMedia() 函數,就像我們想要某個特定寬度或高度的圖片一樣。
開啟網路攝影機的過程
我們可以按照以下步驟使用 JavaScript 開啟網路攝影機。
第 1 步 - 新增 HTML 元素,例如用於顯示網路攝影機串流的影片和 按鈕。
第 2 步 - 檢查網路攝影機是否可供使用並解決返回的承諾 getUserMedia 函數。
#STEP 3 - 將參數傳遞給 getUserMedia() 函數,例如音訊和視頻 true,因為我們將使用它們
第 4 步 - 對於智慧型手機,我們必須使用 faceingMode 選項作為兩者 相機可用,預設情況下,我們使用前置相機打開。
範例
下面是一個打開網路攝影機的簡單程式。我們按照上述步驟完成了我們的任務。
<html> <head> <title>Open webcam using JavaScript. </title> </head> <body> <h1 id="Open-WebCam-Using-JavaScript">Open WebCam Using JavaScript</h1> <br/> <button id="startBtn" onclick="openCam()">Open Webcam</button> <br/><br/> <video id="videoCam"></video> <script> function openCam(){ let All_mediaDevices=navigator.mediaDevices if (!All_mediaDevices || !All_mediaDevices.getUserMedia) { console.log("getUserMedia() not supported."); return; } All_mediaDevices.getUserMedia({ audio: true, video: true }) .then(function(vidStream) { var video = document.getElementById('videoCam'); if ("srcObject" in video) { video.srcObject = vidStream; } else { video.src = window.URL.createObjectURL(vidStream); } video.onloadedmetadata = function(e) { video.play(); }; }) .catch(function(e) { console.log(e.name + ": " + e.message); }); } </script> </body> </html>
使用 CSS 設計介面
首先,讓我們使用 HTML 和 CSS 來設計我們的 Web 介面。
我們添加像網路攝影機影片區域這樣的元件,並使用 CSS 將其高度和寬度設定為 400px,背景顏色為黑色。它將顯示網路攝影機視訊串流。
新增一個名為開啟相機的按鈕並套用其CSS屬性;該按鈕將用於啟動網路攝影機。
現在我們將新增功能程式碼並將其嵌入到主程式中。
我們將在點擊OpenCamera按鈕時呼叫該函數,並且在該函數中,所有指令都會按照上面的討論發生。
範例
在下面的範例中,我們加入了一些 CSS 來設計更具互動性的介面。
<html> <head> <title>Open webcam using JavaScript.</title> <style> *{ background-color: #658EA9; } #videoCam { width: 630px; height: 300px; margin-left: 0px; border: 3px solid #ccc; background: black; } #startBtn { margin-left: 280px; width: 120px; height: 45px; cursor: pointer; font-weight: bold; } #startBtn:hover{ background-color: #647C90; color: red; } </style> </head> <body> <h1 id="Open-WebCam-Using-JavaScript">Open WebCam Using JavaScript</h1> <br/> <video id="videoCam"></video> <br/><br/> <button id="startBtn" onclick="openCam()">Open Camera</button> <script> function openCam(){ let All_mediaDevices=navigator.mediaDevices if (!All_mediaDevices || !All_mediaDevices.getUserMedia) { console.log("getUserMedia() not supported."); return; } All_mediaDevices.getUserMedia({ audio: true, video: true }) .then(function(vidStream) { var video = document.getElementById('videoCam'); if ("srcObject" in video) { video.srcObject = vidStream; } else { video.src = window.URL.createObjectURL(vidStream); } video.onloadedmetadata = function(e) { video.play(); }; }) .catch(function(e) { console.log(e.name + ": " + e.message); }); } </script> </body> </html>
正如您從輸出螢幕中可以觀察到的那樣,當我們單擊“打開相機”按鈕時,它會要求訪問網絡攝像頭,當我們允許該訪問時,它將在視頻區域屏幕中啟動網絡攝像頭視訊串流;如果我們不授予存取權限,它將不會顯示任何輸出。
以上是如何使用 JavaScript 開啟網路攝影機?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Python和JavaScript在社區、庫和資源方面的對比各有優劣。 1)Python社區友好,適合初學者,但前端開發資源不如JavaScript豐富。 2)Python在數據科學和機器學習庫方面強大,JavaScript則在前端開發庫和框架上更勝一籌。 3)兩者的學習資源都豐富,但Python適合從官方文檔開始,JavaScript則以MDNWebDocs為佳。選擇應基於項目需求和個人興趣。

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript在現實世界中的應用包括服務器端編程、移動應用開發和物聯網控制:1.通過Node.js實現服務器端編程,適用於高並發請求處理。 2.通過ReactNative進行移動應用開發,支持跨平台部署。 3.通過Johnny-Five庫用於物聯網設備控制,適用於硬件交互。

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器